我对C#很新,但我很快就学会了。我已经看到了各种各样的答案,但我不确定他们的套件,或者我只是没有得到它们。等待应用程序窗口打开然后执行某些操作
我有一个业务需求,写一个c#应用程序,在系统托盘中的网站,并在Internet Explorer中执行特定操作时运行。这个动作(现在)是关于Internet Explorer窗口的开始。我需要应用程序不断监视以查看此窗口是否已打开,然后运行一些代码,一个示例将关闭窗口并显示一个消息框。
我已经设法让系统托盘部分工作,我将如何去监控窗口存在?
编辑 回答一些注释中的问题: 在我们使用仅在IE中运行的订票系统的工作,我们正在寻找一种方法来自动化我们的手工工艺的一部分,要做到这一点,我们是认为我们可以有以下过程: 去预订,点击帮助>关于,系统托盘应用程序关闭窗口并运行一些代码来更新数据库。这是非常多的。
我不得不看看以下一些: How to check if window is opned and close it c#: How do check if another application window is open on my machine (i.e., iterate through all open windows)?
我想我明白,我必须通过正在运行的进程看,检查有相关的计划性,看它是否具有正确的窗口名称?我确定我可以得到它的工作(最终),但它是等待窗口打开我坚持的部分,C#有waitfor或我必须编写一个函数来不断检查该窗口是否打开?
编辑
我已经接受了@阿德里安的答案,因为它看起来像它会想得到我想要的;然而,在阅读所有评论后,我去了我的经理,我们讨论了这一点。现在,我们将通过右键菜单中的文本框,让用户输入预订号码到自己的C#应用程序中。谢谢大家。
为什么要你的应用程序有权使用由*另一*应用程序打开窗户烂摊子? –
你有什么尝试?你见过的答案有什么问题?你见过的答案是什么?他们为什么不为你工作? –
这就是... *绝对*我曾经听说过的一个应用程序中最奇怪的行为。如果你想自动执行任务,只需给用户一个按钮来点击。不要将其绑定到关键系统功能。当IT需要查看机器上运行的IE版本时会发生什么?他们去帮助 - >关于,突然间,东西开始自动预订。哎呦! –