描述:
我在一个DLL里面用::CreateWindow方法创建了一个自己的窗口,后来用::PostMessage方法发送消息给它,但这个窗口总是收不到消息,请问是什么原因???
创建窗口的代码如下:
WNDCLASS wc;
memset(&wc, 0, sizeof(wc));
wc.lpfnWndProc = TheCmdWindowsProc;
wc.style = CS_HREDRAW|CS_VREDRAW;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = NULL;
wc.hIcon = NULL;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = NULL;
wc.lpszClassName = "Test Windows";
ATOM atClass = ::RegisterClass(&wc);
// create window
m_hWndMain = ::CreateWindow("Test Windows", "", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, NULL, NULL);
发送消息的语句为:
::PostMessage(m_hWndMain, WM_USER+1, 111, 222);