0

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

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

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

我知道如何做所有事情,除了从应用程序 A 检测到它上面没有任何东西并且它可以再次控制时。

我需要做什么?谢谢!

4

2 回答 2

1

选项1

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

选项 2

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

选项 3

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

于 2012-04-14T07:42:34.987 回答
0

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

于 2012-04-16T22:49:20.697 回答