windows-messages

    0熱度

    1回答

    我正在實現使用單個線程的Reactor設計模式,用於使用Windows事件機制的異步操作。 我在嘗試組合我的反應器以支持Windows Notifications(WM_CLOSE,WM_CREATE,WM_DEVICECHANGE ...)以及現有的Windows Events時遇到問題。 因此,我的問題是: 當某個特定的窗口收到特定的通知時,是否可以指示事件? 在此先感謝。

    0熱度

    2回答

    我正在創建類似thunderbird和Outlook的默認郵件應用程序,但僅包含一些功能。所以,現在的問題是,只有在Word 2007和Excel 2007中,從fileMenu發送文件 - >發送 - >電子郵件和應用程序在點擊電子郵件後崩潰,但同樣的事情在Powerpoint 2007和一個筆記2007中工作。 與Office 2007,MapiLogon(...)越來越第一個呼叫,這裏是我的

    0熱度

    1回答

    我正在調試WndProc被覆蓋的舊應用程序。在那裏,我收到ID = 0xC1B0的消息,這意味着,這是根據此msdn article的系統範圍唯一消息。 正如Microsoft的RegisterWindowMessage(...)所述,參數相同的字符串會導致相同的message-id。所以message-id和參數之間有一個唯一的鏈接。 我的問題是現在:有沒有可能獲得參數,如果我有消息ID?如果是

    0熱度

    2回答

    在新項目中,我創建了一個包含2個面板的MainForm和一個帶按鈕的Form。 我加在MainForm的這段代碼: interface type TForm1 = class(TForm) Panel1: TPanel; Panel2: TPanel; procedure FormCreate(Sender: TObject); private

    1熱度

    1回答

    當我運行我的程序(下面的代碼)並通過USB電纜插入硬盤驅動器時,WindowProcedure被稱爲WM_DEVICECHANGE消息,用於設備更改事件類型DBT_DEVICEARRIVAL。 但是,GetMessage不返回。 的documentation for GetMessage說GetMessage 檢索從調用線程的消息隊列中的消息。 因此,聽起來好像線程的消息隊列中沒有消息。 爲什麼我

    3熱度

    1回答

    我似乎無法在任何地方找到答案。我不確定我是否知道如何說出它。 不要註定消息控件上的表單處理中彼此平行? 我一直的印象是,我們有每個線程的公寓一個消息泵下,和一個泵會養活連接到該線程整個GUI。所以,如果你在一個控件上掛接了wndproc並凍結了線程(Thread.Sleep()),整個窗體就會凍結? 如果是這樣,會出現this question通過當在子控制的特定消息到達睡覺來證明,相鄰的控制處理

    0熱度

    1回答

    我有一些代碼攔截並吃WM_ExitSizeMove消息,因爲我想阻止用戶最大化MDIChild形式。我也想阻止他們儘量減少MDIChild表格,但我無法弄清楚哪個消息要攔截,有人知道嗎?

    2熱度

    1回答

    Windows消息傳遞系統將發佈時間分配給每條消息的DWORD。 typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; // <--- POINT pt; } MSG, *PMSG, *LPMSG; 但我找

    0熱度

    1回答

    我正試圖在AutoHotkey中實現一種窗口停靠功能,並且無法使其級聯。 如果窗口乙應該停靠窗口一個的一面,我可以得到它這樣做就好了,只要窗戶一個移動,但如果窗口Ç應該堅持窗口B,我無法這樣做(可靠地)每當窗口A移動(當移動B直接移動時它移動正常)。 我有一個OnMessage處理程序設置爲WM_WINDOWPOSCHANGED,其提取從WINDOWPOS結構手柄和尺寸/位置信息的移動窗口,檢測是

    1熱度

    2回答

    我想更改從鍵盤使用Alt + Unicode代碼插入的unicode字符。 我用PretranslateMessage改變從鍵盤直接插入的字符,它的工作。但使用Alt + Unicode代碼方法則不行。 這裏是代碼: 當啓用顯示/隱藏段落標記時,Microsoft Word具有此功能。 BOOL CEmphasizeEdit::PreTranslateMessage(MSG* msg) {