读书人

DLL中的消息发送解决办法

发布时间: 2012-01-19 20:57:58 作者: rapoo

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.

读书人网 >VC/MFC

热点推荐