window-messages

    0熱度

    1回答

    我打電話給BroadcastSystemMessage方法從User32.dll。在一臺PC(Windows8 Pro)上調用該方法,但調用永遠不會結束。應用程序正在等待,但結果(也不例外)從不返回。我在幾臺Windows8電腦(不同硬件,有/沒有殺毒軟件等)上試過,但這種行爲在這些電腦上從未發生過。 目標計算機沒有任何已安裝或正在運行的應用程序,它將註冊自定義消息。所以所有的應用程序應該忽略廣播

    0熱度

    1回答

    我有一個外殼擴展,當另一個應用程序廣播特定窗口消息(由RegisterWindowMessage註冊的自定義消息)時,需要重新加載其配置。 我嘗試了幾種方法來攔截消息: Windows資源管理器的窗口上安裝一個窗口的子類的回調,使用SetWindowSubclass。這適用於Window 7,但不適用於Windows 8,因爲顯然DllMain未在主線程中調用,並且SetWindowSubclas

    3熱度

    2回答

    在C++程序(embarcadero XE2,vcl)中,我想從父窗口向所有子窗口發送窗口消息。 爲此,我註冊了一個windowMessage,發送消息的PostMessage(handle,msg,wparam,lparam)在所有句柄的循環中,並在每個對話框上用WndProc(TMessage& Message)接收。 我的問題是跟蹤打開的窗口句柄。由於大多數對話框都是通過Show()打開的,

    1熱度

    1回答

    當模態對話框處於活動狀態時,主應用程序窗口是否可以檢測到WM_CLOSE事件?如果沒有,是否有任何方法檢測WM_CLOSE事件,因爲對話框的事件處理程序也沒有檢測到它。 要自己觀察這種行爲,打開記事本'about'菜單,然後右鍵單擊任務欄中的記事本圖標並選擇'關閉窗口'選項,它將不起作用。 有沒有人知道在模態窗口處於活動狀態時爲應用程序捕捉WM_CLOSE事件的方法?

    0熱度

    1回答

    我目前正在創建一個WPF窗口,在調整大小時保留其寬高比。 我的第一個想法是處理WM_SIZE消息並在那裏設置大小,但是這產生了惱人的閃爍。 所以我試圖改變產生AccessViolationExceptions的WM_Size的lParam。在WM_SIZING上操縱lParam的情況也是如此。 AspectWindow.vb Imports System.Runtime.InteropServic

    1熱度

    1回答

    我有一個表格,我已經刪除標題欄,但保留邊界(見this answer)。 在上面的回答它的說,它是需要有FormBorderStyle設置爲Sizable或SizableToolWindow,並以被可觀你捕獲WM_NCHITTEST事件停止形式。唯一的問題是,這樣做會使不是提高正常Form_MouseEnter或Form_MouseLeave事件。 有沒有解決這個問題的方法? 我的代碼: Prot

    0熱度

    2回答

    是否有任何方法可以從對話框中的控件中確定最小化對話框? 我正在使用窗口消息ON_WM_SIZE,當對話框被最小化時,應該用類型SIZE_MINIMIZED調用。 BEGIN_MESSAGE_MAP(CEditT, CEdit) ON_WM_SIZE() END_MESSAGE_MAP() void CEditT::OnSize(UINT nType, int cx, int cy)

    0熱度

    1回答

    如果我儘量減少我的外殼擴展文件夾,然後嘗試通過單擊任務欄上恢復它,我得到一個錯誤提示音並沒有什麼已經完成了。 使用Microsoft Spy++,我回顧嘗試恢復該文件夾的事件,得到了以下幾點: <00001> 0019013C S WM_WINDOWPOSCHANGING lpwp:021DEC48 <00002> 0019013C R WM_WINDOWPOSCHANGING <00003>

    2熱度

    1回答

    我正在寫一個鉤子DLL,它處理窗口繪製消息。 我發現Vista及以上版本,hook dll接收到一些未知的消息id,具體是0x90〜0x95。 我做了一些谷歌上搜索,發現了一個msdn link和this,它告訴我,他們是什麼樣的信息: #define WM_UAHDESTROYWINDOW 0x0090 #define WM_UAHDRAWMENU 0x0091 #define WM_UAH

    0熱度

    1回答

    我有一個包含子窗口的容器窗口(CFrameWnd),如果我在某些情況下將子窗口設置爲spy ++,我看不到任何消息傳遞。爲什麼?在Windows之間調節消息的系統是什麼?我檢查了所有窗口都已啓用。 子窗口從CDialog的繼承和具有WS_CHILD樣式 class PanelDialog : public CDialog { DECLARE_DYNAMIC(PanelDialog)