我已经看到了几个工具在Windows中的所有应用程序的所有窗口的标题栏上添加自定义button和/或绘图。 这是怎么做的? delphi的一个例子的额外点。
编辑:我发现了一些dotNET这样做: http : //www.thecodeking.co.uk/2007/09/adding-caption-buttons-to-non-client.html#.VdmioEDenqQ
我没有这样做,所以下面是我会调查,如果我想尝试:
GetWindowLong
与GWL_STYLE
寻找GWL_STYLE
。 同样的调用也可以让你看到字幕/帧的类型,你可以结合GetSystemMetrics
与例如SM_CYDLGFRAME
来找出你的按钮在这个特定窗口的标题栏上的大小。 WS_EX_NOACTIVATE
窗口标志,如下所示: SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or
WS_EX_NOACTIVATE
)
。 EVENT_SYSTEM_MINIMIZESTART
和EVENT_SYSTEM_MINIMIZEEND
最小化和恢复。 这将允许您跟踪屏幕上移动的所有窗口,以便您可以根据需要调整按钮窗口的位置。 这给你一个窗口,你可以画一个按钮(和响应点击等),视觉上“附加”到其他窗口,因此它保持在与用户拖动标题栏相同的地方,最大限度地减少或最大化的应用程序,这是在你自己的过程中没有跨进程问题。
我如何看待这个工作: