ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = HeartBeatWin;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = g_hInst;
wcex.hIcon = NULL;
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = NULL;//MAKEINTRESOURCE(IDC_XEYE);
wcex.lpszClassName = MSG_ENGINE_CLASSNAME;
wcex.hIconSm = NULL;
return RegisterClassEx(&wcex);
}
g_hHear = CreateWindowEx(WS_EX_NOACTIVATE, // 该参数保证该窗口永不被激活
MSG_ENGINE_CLASSNAME, "title",
WS_POPUP,
0, 0, 10, 10,
NULL, NULL, 0, NULL) ;
无论你如何SetWindowPos( SWP_NOACTIVATE.. ) 都没用, 一个窗口在被第一次创建好的时候, windows会自动的为其送去焦点和把其激活, 所以, 要想让一个窗口一开始就不被激活, 不获取焦点, 那么就只有在创建窗口的时候, 把WS_EX_NOACTIVATE传进去.