【发布时间】:2014-05-03 22:33:05
【问题描述】:
我想知道是否有某种方法可以传递在我的应用程序启动之前处于活动状态的窗口的窗口句柄(通过单击任务栏图标)或双击桌面上我的应用程序图标.
我想这是不可能的,但我还是想问一下。
感谢您的帮助!
【问题讨论】:
-
你为什么要这个?
我想知道是否有某种方法可以传递在我的应用程序启动之前处于活动状态的窗口的窗口句柄(通过单击任务栏图标)或双击桌面上我的应用程序图标.
我想这是不可能的,但我还是想问一下。
感谢您的帮助!
【问题讨论】:
严格来说,在您之前处于活动状态的窗口是 shell。您的应用程序是由 shell 启动的,而您真正要问的是在 shell 之前处于活动状态的应用程序是什么。现在这是一个问题!
枚举顶层窗口很容易,这基本上是 shell 为您提供任务列表的功能。这会给你一个候选人名单。不太容易知道是哪一个,尽管返回它们的顺序可能是一个线索。
获取正在运行的应用程序的 Z 顺序也相对容易。在您之前运行的应用程序很可能是具有最高 Z 顺序的应用程序,不包括您的应用程序和 shell。
我的猜测是,这对于大多数用途来说已经足够接近了。在那之后我就没有想法了。
【讨论】: