资料收集站

SDL

Wednesday
Dec 03rd
Text size
  • Increase font size
  • Default font size
  • Decrease font size

我想用BroadcastSystemMessage来在两个进程之间通讯,我从一个进程发送了一个用RegisterWindowMessage注册过的消息,但在目的进程中却没有收到该消息.

我认为你应该在两个进程的最高级窗口中都注册该消息.请看下例:

static UINT sBroadcastCommand = ::RegisterWindowMessage( _T("BroadcastCommand"));

BEGIN_MESSAGE_MAP( Gui_Top_Level_MainFrame, Gui_MainFrame )

    ON_REGISTERED_MESSAGE( sBroadcastCommand, onBroadcastCommand )

END_MESSAGE_MAP()

LRESULT Gui_MainFrame :: onBroadcastCommand( UINT aMsg, LPARAM lParam )


    your code...


然后发送进行应该包含: 

While the sending process would contain:

static UINT sBroadcastCommand = ::RegisterWindowMessage( _T("BroadcastCommand"));

void Someclass :: someMethod( void )

    {

    ::PostMessage( (HWND)HWND_BROADCAST,

                                sBroadcastCommand, 0,

                                yourMessageId );

    }
Comments (0)Add Comment

Write comment

busy
 

Google 搜索

在线用户

We have 58 guests online