我有一个工作正常的程序,我正在尝试进行一些更新。 但似乎没有更多的接收一些Windows消息,如WM_LBUTTONDOWN或WM_SETCURSOR(WM_CREATE被调用)。我不知道是什么问题。
这是关于这样创建的分层窗口:
wc.cbSize=sizeof(WNDCLASSEX);
wc.style=CS_CLASSDC;
wc.lpfnWndProc=MsgProc;
wc.cbClsExtra=0L;
wc.cbWndExtra=0L;
wc.hInstance=GetModuleHandle(NULL);
wc.hIcon=NULL;
wc.hbrBackground=NULL;
wc.lpszMenuName=NULL;
wc.lpszClassName="myapp";
wc.hCursor=hmain;
RegisterClassEx( &wc );
// Create the application's window
hWnd = CreateWindowEx(WS_EX_LAYERED|WS_EX_TOPMOST, "myapp", "myapp",
WS_POPUPWINDOW|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX, 10, 10, desiredwidth, desiredheight,
GetDesktopWindow(), NULL, wc.hInstance, NULL );
我在Windows 7 x64上的Visual Studio Express 2008下开发(我在Win7 x86上启动了这个程序)
由于
答案 0 :(得分:0)
窗口不可见。将WS_VISIBLE
添加到您的样式,或致电ShowWindow()
。
答案 1 :(得分:0)
我的错!我删除了以下几行:
while( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
不知道怎么会发生,但真的很蠢!