需要知道Windows API才能在激活我的应用程序时获取回调

时间:2019-05-21 09:14:46

标签: c++ windows winapi

我有一个wxWidgets Windows应用程序,单击某个按钮后我正在启动另一个应用程序 我的应用程序,这个新启动的应用程序的行为类似于模式窗口,并且我的应用程序被发回,但是 当用户使用Alt + Tab或单击我的应用程序图标时,我的应用程序位于最前面,而子应用程序 已经打开的应该已经显示

我想出了如何将应用程序置于最前面的方法,现在我想知道是否可以为父应用程序设置回调 只要激活了应用程序(通过Alt + Tab或任务栏图标或任何其他方式),就会调用该方法, 这样我就可以此时将我的子应用程序放在最前面了。是否有一个windwos API?

1 个答案:

答案 0 :(得分:1)

WM_ACTIVATE

  

发送到激活的窗口和正在激活的窗口   已停用。如果窗口使用相同的输入队列,则消息为   同步发送,首先发送到顶层的窗口过程   窗口被停用,然后转到   顶层窗口被激活。如果Windows使用不同的输入   排队时,消息是异步发送的,因此激活了窗口   立即。

case WM_ACTIVATE: 
{ 
     // test if window is being activated 
     if(LOWORD(wParam)!=WA_INACTIVE) 
     { 
          // application is being activated 
     } 
     else 
     { 
          // application is being deactivated 
     } 
} 
break;

编辑:

如果要使用挂钩监视窗口是否已切换,则可以参考此链接。

Capture switch window event (window focus) (Alt+TAB)