
圖片上X(關閉),用程式向該視窗發送WM_CLOSE ,關閉幾次后,發現該視窗無法啟動了,必須重啟系統后才能重新啟動該程式。
有沒有辦法獲取“點擊X時發送的事什么訊息".用HOOK 能否實作。 如可以實作,給出一些代碼!!
uj5u.com熱心網友回復:
X關閉,會收到 [u]WM_SYSCOMMAND SC_CLOSE[/u] 的訊息uj5u.com熱心網友回復:
https://docs.microsoft.com/en-us/windows/win32/menurc/wm-syscommanduj5u.com熱心網友回復:
不是同一個行程,是兩個不同的行程。一個行程監聽另一個行程的訊息
uj5u.com熱心網友回復:
那就試試 SetWindowsHookEx WH_CALLWNDPROCuj5u.com熱心網友回復:
void CMyDlg::OnButton1(){
// TODO: Add your control notification handler code here
HWND wnd = ::FindWindow("NotePad",0);//"無標題-記事本");
::SendMessage(wnd, WM_SYSCOMMAND,SC_CLOSE,0);
}
uj5u.com熱心網友回復:
試過了,使用上面的方式關閉,會導致程式啟動不了。
-- 想監聽這個這個行程訊息。但不知道使用hook能否解決
uj5u.com熱心網友回復:
會導致程式啟動不了 ?win7 vc6 沒問題 !
uj5u.com熱心網友回復:
自定義封裝了訊息。不是所謂
uj5u.com熱心網友回復:
https://www.jianshu.com/p/39da24e1a8ee"研究spy++如何獲取視窗的WndProc回呼地址"
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/10452.html
標籤:界面
上一篇:多點觸摸的畫板程式如何實作一邊書寫同時一邊擦除的功能?
下一篇:使用vs2005/vs2015開發的輸入法在64位的windows下必須先由32位的程式呼叫后64位程式呼叫才正常
