首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带托盘窗口的TestStack白色

带托盘窗口的TestStack白色
EN

Stack Overflow用户
提问于 2015-07-01 17:45:06
回答 2查看 1.1K关注 0票数 0

我需要与另一个应用程序交互,它驻留在托盘中。我现在用的是TestStack White:

代码语言:javascript
复制
ProcessStartInfo processStartInfo = new ProcessStartInfo("MyProg.exe");
Application application = Application.AttachOrLaunch(processStartInfo);
_window = application.GetWindows()[0];

如果应用程序在此调用之前没有运行,则一切正常,因为启动它,这是可见的。

相反,如果应用程序已经在运行,并且在托盘中,White无法找到任何窗口,我可以在控制台中看到这一点,如下所示:

找不到此应用程序的任何窗口。

...and,经过一些重试,它失败了,只有一个例外。现在,我找到的最佳解决方案是关闭应用程序并重新启动它:

代码语言:javascript
复制
application.Kill();
application = Application.Launch("MyProg.exe");

而且这个很管用。但我想有更好的解决办法。

EN

回答 2

Stack Overflow用户

发布于 2015-07-15 15:49:28

打开要自动化的应用程序,并打印所有正在运行的进程名,查找哪个代表应用程序。

添加以下代码..。

代码语言:javascript
复制
Application myApp;
myApp = Application.Attach("ProcessName");

希望能帮上忙..。

票数 0
EN

Stack Overflow用户

发布于 2016-06-15 11:18:54

您尝试过附加到explorer.exe进程吗??因为该应用程序的系统托盘图标将驻留在explorer.exe下。就像这样:

您尝试过附加到explorer.exe进程吗??因为该应用程序的系统托盘图标将驻留在explorer.exe下。就像这样:

代码语言:javascript
复制
Process _explorerProcess = Process.GetProcessesByName("explorer")[0];
application = Application.Attach(_explorerProcess.Id);
Window desktopWindow = application.GetWindows()[0];

然后,您应该能够与系统托盘图标交互。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31168219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档