我很抱歉,如果我问了一些荒谬的事情(我是一个win32noob),但我想知道,如果它会发生.它是可能的,我们改变消息根据自己和处理它的开关(消息)在代码中?
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message){
case WM_DESTROY:
PostQuitMessage(0);
break;
case FindWindowA(NULL,"Task Manager"): // like this
//do something
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}
你可以定义新的消息。
#define WM_MY_MSG (WM_USER+0)
或者...
#define WM_MY_MSG (WM_APP+0)
请注意,WM_USER + x范围内的消息是窗口类的私有消息,而应用程序的私有消息需要在WM_APP + x范围内。SendMessage
或 PostMessage
API功能。并进一步处理它。
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message){
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_MY_MSG: // like this
// Do something, for example FindWindowA(NULL,"Task Manager")
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}