[英]How to detect the window has been maximized?
我有我的应用程序和第三方应用程序。 而且我需要知道第三方应用程序的窗口已最大化。 有什么办法知道吗?
起初,我以为可以使用自己的回调函数来处理此窗口的事件。
SetWindowLong(hwnd, GWL_WNDPROC, (LONG)WindowProc);
但是此功能失败,并显示错误“访问被拒绝”。 这是有原因的。 在您不拥有的窗口中更改某些内容不是很明智。
所以我该怎么做?
实际上,当窗口将要最小化或最大化时,您会收到通知。 您将需要使用SetWindowsHook过程来安装和收听WH_CBT_Hook。
以下是有关WIndowsHooks的一般信息:
这是一个线程,向您展示如何在VB中做一些更简单的操作(对于WH_Mouse_Hook):
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=581752&SiteID=1
希望这可以帮助,
使用GetWindowPlacement函数。 确保在调用GetWindowPlacement之前将WINDOWPLACEMENT的length成员设置为sizeof(WINDOWPLACEMENT)。
如果窗口最大化,则返回的WINDOWPLACEMENT结构的showCmd字段应等于SW_MAXIMIZE(3)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.