簡體   English   中英

MS Word COM插件無法在XP中接收消息

[英]MS Word COM addin can't receive messages in XP

從我的COM加載項內部,創建一個對話框,然后從外部進程向其發送消息。 我使用HWND_BROADCASTRegisterWindowMessage

但是這些消息永遠不會被COM插件的對話過程接收到。 我知道這一點是因為我記錄了對話框proc接收到的所有消息,以及RegisterWindowMessage返回的值。

從外部進程:

static UINT nCloseMessage = 0;
if (!nCloseMessage)
    nCloseMessage = RegisterWindowMessage(_T("MyCloseMessage"));    
PostMessage(HWND_BROADCAST, nCloseMessage, 0, 0);

從COM加載項:

INT_PTR CALLBACK ProgressDialogProc(__in  HWND hwndDlg,__in  UINT uMsg,__in  WPARAM wParam,__in  LPARAM lParam)
{
    static UINT nCloseMessage = 0;
    if (!nCloseMessage)
        nCloseMessage = RegisterWindowMessage(_T("MyCloseMessage"));    
    if (uMsg == nCloseMessage)
        MessageBox(0,_T("Caught"),0,0);

    return FALSE;
}

我發現了為什么出現此錯誤的原因,當對話框具有父窗口時, HWND_BROADCAST不起作用。

NULL傳遞給父級的CreateDialog該錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM