应用程序启动和焦点恢复

时间:2012-04-14 01:51:36

标签: c# kinect

我正在使用kinect应用程序(应用程序A),我想在其中启动另一个本地kinect应用程序(应用程序B)。

我可以启动应用程序B没问题,它显示在我的kinect启动应用程序上,生活很好。要关闭应用程序B,我必须进行一次kinect手势。

我不确定的是,我希望应用A知道应用B何时消失,以及应用A获取某些事件以便它可以再次全屏并重新连接kinect传感器。

我知道如何处理除了应用程序A时检测到的所有内容,如果它没有任何内容,它可以再次控制。

我需要做什么?谢谢!

2 个答案:

答案 0 :(得分:1)

选项1

尝试使用WindowFromPoint作为屏幕点,您知道2个窗口(App A和App B的窗口)应该相交。如果返回的句柄是App B窗口或其中一个子窗口,则App A仍在运行。

选项2

让应用B退出时向应用A发送消息(使用FindWindow查找应用A的窗口句柄)

选项3

偶尔使用EnumWindows(基于计时器)枚举所有顶级窗口并查找App B的窗口是否仍在那里

答案 1 :(得分:0)

所以我找到了正确的(我认为)处理这个问题的方法,我让问题过于复杂。我正在使用System.Diagnostics.Process从应用程序A启动应用程序B,因此我可以直接访问该进程,因为应用程序A永远不会停止。我只是联系了Exited事件,然后我可以让应用程序A做任何我需要的东西,当应用程序B消失。