首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

DLL中的消息发送解决办法

2012-01-19 
DLL中的消息发送dll中TEST_APIvoidSetHWnd(HWNDhWnd){h_WndhWnd}PostMessage(h_Wnd,WM_COPYDATA,(WPARAM

DLL中的消息发送
dll中

TEST_API   void   SetHWnd(   HWND   hWnd   )
{
h_Wnd   =   hWnd;
}

PostMessage(   h_Wnd,   WM_COPYDATA,   (WPARAM)NULL,   (LPARAM)NULL   );

exe中

传递窗口句柄
SetHWnd(   AfxGetApp()-> GetMainWnd()-> m_hWnd   );

但是在EXE中却没有收到WM_COPYDATA消息,如果在exe中调用
PostMessage(   AfxGetApp()-> GetMainWnd()-> m_hWnd,   WM_COPYDATA,   0,   0   );能收到消息。

不知是什么原因。dll中收到的窗口句柄和exe的窗口句柄是一样的啊。

谢谢!!


[解决办法]
用SendMessage呢
[解决办法]
我想这个WM_COPYDATA 它的id号在dll和exe中是不同的,从dll发送后exe无法识别,特别是dll是动态连接时.解决的办法可以是自定义消息然后和hwnd一起传给dll.

热点排行