COMアドイン内からダイアログを作成し、外部プロセスからダイアログを送信します。私は使用HWND_BROADCAST
しRegisterWindowMessage
ます。
ただし、これらのメッセージは、COMアドインのダイアログプロシージャによって受信されることはありません。ダイアログプロシージャによって受信されたすべてのメッセージと、によって返された値もログに記録するため、これを知っています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;
}