我想從我的應用程序關閉一些應用程序的窗口。我試圖發送WM_CLOSE
消息到該窗口(並且它對一些窗口來說是完美的),但有些窗口忽略了WM_CLOSE
。然後我發現this文章說,如果我想關閉窗口,我可以調用DestroyWindow
WINAPI函數。但是,根據documentation,「一個線程不能使用DestroyWindow
銷燬由另一個線程創建的窗口」。所以我不能使用它從我的應用程序關閉另一個應用程序的窗口。忽略WM_CLOSE的關閉窗口?
所以我的問題是 - 是否可以關閉應用程序窗口,忽略WM_CLOSE
消息?我確實要關閉窗口(例如彈出窗口),不要退出應用程序,不要關閉與該窗口相關的線程等。
編輯: 我確信,該窗口故意忽略了我的WM_CLOSE
,因爲我通過諜照看到++,它收到我的WM_CLOSE
消息。我不想實現「點擊右上角[X]按鈕」,因爲我想要統一的解決方案(我有問題的窗口根本沒有按鈕[X])。
對不起,意外按下輸入。 1.我知道肯定,那個窗口故意忽略我的WM_CLOSE,正如我通過spy ++看到它接收到我的WM_CLOSE消息。該窗口右上角沒有[X]關閉按鈕,該窗口有自己的「關閉」按鈕(不在右上角)。但我想要統一的解決方案,這將適用於所有可能的窗口。 2.我通過'SetWinEventHook'函數獲取窗口句柄(查找'EVENT_OBJECT_CREATE'事件)。而且我可以驗證句柄是否正確,因爲我還使用spy ++檢查了這個 –
確切地說,它是一個自定義窗口,並具有自己的邏輯來確定如何銷燬它自己。在這種情況下,這很簡單。你需要模擬用戶點擊那個按鈕。 – selbie
downvoter會關心解釋他不喜歡什麼? – selbie