Вы пытались использовать сообщения Windows?
Вы можете определить у вас есть пользовательские сообщения, как это:
const UINT WM_YOUR_CUSTOM_MESSAGE = ::RegisterWindowMessage(_T("Your_custom_message"));
вы получите сообщение в стандартном WindowProc() функция:
WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
Вы можете добавить один переопределение CWnd :: WindowProc() в принимающем приложении (используйте classwizard в диалоговом окне в диалоговом приложении MFC или в MainFrm в приложении Single/Multiple Document MFC)
Вы используете го сообщения на все окна, как это:
ULONG ulRC = BSM_APPLICATIONS;
BroadcastSystemMessage(BSF_IGNORECURRENTTASK | BSF_FORCEIFHUNG, // do not send message to this process and don't hang
&ulRC, // broadcast only to applications
WM_YOUR_CUSTOM_MESSAGE, // message registered in previous step
0, // wParam message-specific value
0); // lParam message-specific value
Если вам нужно передать какую-то информацию с сообщением, вы можете также использовать значение WPARAM и LPARAM в сообщении.
Эмм ... Почему 'PostMessage()' не хватает? – sharptooth
@ sharptooth, вы имеете в виду, что я опубликую сообщение из DLL? Как я могу извлечь его в приложении MFC? – Simsons
Это вариант. Вы отправляете сообщение, и это приложение извлекает его в свой цикл сообщений. – sharptooth