我正在嘗試跟蹤正在移動的桌面應用程序窗口,以便可以在奇偶校驗中移動相應的透明疊加窗口。目前,我將EVENT_SYSTEM_MOVESIZEEND
事件與SetWinEventHook
掛鉤。在我的回調中,我使用目標應用程序窗口的新位置更新覆蓋層的位置。跟蹤正在移動的桌面窗口WinApi
這工作,但它意味着我的疊加跳躍各地用戶允許後進入目標窗口的標題欄。我想我的覆蓋物跟蹤目標窗口爲它正在移動,而不僅僅是它之後已移動。
我能想到做到這一點,唯一的辦法就是也勾EVENT_SYSTEM_MOVESIZESTART
事件。當START
事件觸發時,產生一個新的線程輪詢目標窗口位置並更新我的覆蓋位置。然後,當END
事件觸發時,終止輪詢線程。
這是一個合理的方法,或者是有沒有更好的方式來實現我想要的功能。
謝謝。
使用EVENT_OBJECT_LOCATIONCHANGE或隱藏覆蓋,而它正在移動。 –
@HansPassant謝謝,這似乎是我正在尋找的。我不知道我是如何錯過的,我會試試看。 – forTruce
另一種選擇是對目標窗口進行子類化並處理WM_WINDOWPOSCHANGING消息。 –