我见过一些工具添加了一个自定义按钮和/或在Windows中所有应用程序的所有窗口的标题栏上绘图。那是怎么做到的?特尔斐中一个例子的额外分数。
编辑:我为dotNET找到了这样做的东西:http://www.thecodeking.co.uk/2007/09/adding-caption-buttons-to-non-client.html#.VdmioEDenqQ
发布于 2015-09-02 11:02:46
我还没有这样做,所以如果我尝试的话,下面是我要调查的内容:
GetWindowLong和WS_CAPTION查看窗口标志,查看窗口是否有标题栏(如果应该添加按钮)。同样的调用也会让您看到标题/帧的类型,您可以将其与GetSystemMetrics结合起来,例如,SM_CYDLGFRAME,以便在这个特定窗口的标题栏上为您的按钮确定合适的大小。WS_EX_NOACTIVATE窗口标志,类似于:SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) orWS_EX_NOACTIVATE`。EVENT_SYSTEM_MINIMIZEEND挂钩、最小化和恢复。这将允许您跟踪所有窗口在屏幕上移动,以便您可以调整按钮窗口的位置,如果必要的话。这给了你一个窗口,你可以画一个按钮(并响应点击等),视觉上是“附加”到其他窗口,因此它停留在同一个位置,用户拖动标题栏,最小化或最大化应用等,这是在你自己的过程中,没有跨进程的问题。
发布于 2015-08-18 19:29:15
我对这份工作的看法:
https://stackoverflow.com/questions/32058232
复制相似问题