[英]MS Word COM addin can't receive messages in XP
從我的COM加載項內部,創建一個對話框,然后從外部進程向其發送消息。 我使用HWND_BROADCAST
和RegisterWindowMessage
。
但是這些消息永遠不會被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.