|
我在自己的程序的window procedure里这样处理WM_CREATE消息:
case WM_CREATE:
desktop = GetDesktopWindow();
oldPROC = (WNDPROC)SetWindowLon(desktop,GWL_WNDPROC,(LONG)myProc);
return 0;
然后myProc:
LRESULT CALLBACK myProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
switch(message)
{
case WM_KEYDOWN:
hdc = GetDC(hWnd);
RECT rt;
GetClientRect(hWnd, &rt);
DrawText(hdc,TEXT("HELLO"),5,&rt,DT_CENTER);
ReleaseDC(hWnd,hdc);
InvalidateRect(hWnd,NULL,TRUE);
return 0;
}
return CallWindowProc(WndProc,hWnd,message,wParam,lParam);
}
在我运行程序之后,在桌面是输入焦点的情况下,点击任何键都出不来"Hello",为什么?
还有我最近才刚开始学习win32的编程,在看windows programming,觉得WIN32 API函数太多太多,很多东西都是觉得一知半解,希望各位高手推荐些好的学习方法或者什么好书给我。。。 |
|