是否可以在Win32Gui中向WindowProcedure发送自定义消息?

问题描述 投票:-2回答:1

我很抱歉,如果我问了一些荒谬的事情(我是一个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;
}
c++ winapi win32gui
1个回答
2
投票

你可以定义新的消息。

#define WM_MY_MSG (WM_USER+0)

或者...

#define WM_MY_MSG (WM_APP+0)

请注意,WM_USER + x范围内的消息是窗口类的私有消息,而应用程序的私有消息需要在WM_APP + x范围内。SendMessagePostMessage 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;
}
© www.soinside.com 2019 - 2024. All rights reserved.