//============
//TITLE:
// 在非主线程中创建窗口
//AUTHOR:
// norains
//DATE:
// Saturday 29-December-2007
//Environment:
// VS2005 + SDK-WINCE5.0-MIPSII
//================
很多朋友都会有过这样的经历,为什么在主线程中创建窗口且窗口工作很正常,但一移到非主线程(有的朋友喜欢叫它为工作线程),却无法正常工作.本文就这个问题和各位探讨,可能无法做到尽善尽美,但能抛砖引玉也算是欣慰了.
在主线程中创建一个能够正常工作的窗口,估计地球人都知道.
这是一段工作正常的代码:
#include \"windows.h\"
HWND g_hWnd = NULL;
HINSTANCE g_hInst;
LRESULT WndProc(HWND hWnd,UINT wMsg,WPARAM wParam,LPARAM lParam)
{
return DefWindowProc(hWnd,wMsg,wParam,lParam);
}
void CreateWnd(void)
{
WNDCLASS wc = {0};
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = g_hInst;
wc.hIcon = NULL;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetSysColorBrush(COLOR_WINDOW);
wc.lpszMenuName = NULL;
wc.lpszClassName = TEXT(\"SimpleWindow\");
RegisterClass(&wc);
g_hWnd = CreateWindowEx(0,
TEXT(\"SimpleWindow\"),
TEXT(\"SimpleWindow\"),
WS_VISIBLE,
0,
0,
200,
200,
NULL, [Page]
NULL,
g_hInst,
0);
}
int WINAPI WinMain( HINSTANCE hInstance,