我有我的申请和第三方申请。我需要知道第三方应用程序的窗口已经最大化。有什么方法可以知道吗?
起初,我认为我可以使用自己的回调函数来处理此窗口的事件。
SetWindowLong(hwnd, GWL_WNDPROC, (LONG)WindowProc);
但是此功能失败并显示“拒绝访问”错误。这种情况发生了。在窗口中更改您不拥有的内容并不是很明智。
那我该怎么办?
答案 0 :(得分:1)
当窗口即将被最小化或最大化时,您实际上可以得到通知。您需要使用SetWindowsHook过程来安装和监听WH_CBT_Hook。
以下是有关WIndowsHooks的一般信息:
这是一个线程,向您展示如何在VB中做一些熟悉的事情(对于WH_Mouse_Hook):
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=581752&SiteID=1
希望这有帮助,
答案 1 :(得分:0)
使用GetWindowPlacement功能。确保在调用GetWindowPlacement之前将WINDOWPLACEMENT的length成员设置为sizeof(WINDOWPLACEMENT)。
如果窗口最大化,则返回的WINDOWPLACEMENT结构的showCmd字段应等于SW_MAXIMIZE(3)。