2013-02-20 124 views
0

我有一个使用该代码的程序显示应用:EnumWindows的犯规从Windows 8地铁

EnumWindows eW = new EnumWindows(); 
eW.GetWindows(); 

和foreach循环。但是,这只会返回Windows桌面应用程序,不会返回Metro应用程序。有没有什么方法可以找到所有打开的窗口与地铁应用程序?另外,我如何找到Metro发射器。我怎么能这样做?

+2

不可以。Metro应用程序和桌面应用程序运行在独立的环境中,两个shell都不会遇到。 (在这里经常被问到,但是我找不到一个人) – Deanna 2013-02-20 16:30:57

+0

他们只是不显示在窗口中。一些功能可从IAppVisibility接口获得,而不是您想要的。 – 2013-02-20 18:33:38

+0

我需要Windows的属性,如大小,标题等...这是下一个循环的基本信息,在那里我开始像按钮,区域等障碍窗口元素。有什么办法如何做到这一点?如何在地铁环境中找到正在运行的应用程序?谢谢 – We3b 2013-02-20 23:16:03

回答

0

你需要一个清单文件添加到您的应用程序并设置uiaccess =真

微软指南: http://msdn.microsoft.com/en-us/library/bb756929.aspx

与uiaccess标志的应用程序设置为true使用EnumWindows的将产生在中高音的所有窗口然后再添加一些(你可能想要过滤掉)。