我正在启动一个外部应用程序System.Diagnostics.Process
,这个外部进程在某个时刻打开一个对话框,用户输入内容,然后单击确定。我需要的是等待我的应用程序(我开始进行外部处理的应用程序),直到用户插入了某些内容并单击确定。在那之后,我需要在外部进程上做更多的工作,然后关闭它。C#过程自动化
Q
C#过程自动化
2
A
回答
1
是的,这是可能的。有许多方法可以从流程句柄和/或ID开始获取窗口信息。看到这个question and responses入门。你很可能最终会使用P/Invoke到Win32 API来完成这个任务,但有很多好的例子可以完成这个任务。
一旦你有窗口句柄,你可以使用定时器轮询方案来测试存在,或在你的情况下,存在,然后窗口的消失。
0
如果您开始的应用程序在用户与对话框交互后存在,那么您只需拨打Process.WaitFroExit()
,直到您启动的进程退出为止,您的代码才会继续。
有相当一些有用的功能与在System.Diagnostics.Process级的流程交互(我假设你正在使用启动这个外部应用程序)
1
这是可能的,但也有它背后的一些工作。首先,您需要将代码作为非托管代码运行,因为您需要使用Win32 API挂接Windows操作系统事件。
因此,一个选项将有一个循环寻找对话框打开,暂停你的代码正在做什么,并继续当对话框消失。
相关问题
- 1. 自动化过程
- 2. 构建自动化过程
- 3. ASP.NET自动化和手动ETL过程
- 4. 通过自动化
- 5. C#Webbrowser自动化
- 6. excel自动化c#
- 7. C#UI自动化
- 8. Objective-C:自动化
- 9. xcode 4自动化构建过程
- 10. 自动化Android编译过程
- 11. azure自动化存储过程
- 12. 在构建过程中自动化xsd.exe
- 13. 自动化插件的部署过程
- 14. 自动化SFTP上传过程
- 15. 自动化过程中使用asp.net
- 16. 自动化MSI构建过程
- 17. 使脚本自动化构建过程
- 18. Jenkins自动化构建过程
- 19. TFS 2010自动化部署过程
- 20. C#自动化应用程序
- 21. OLE自动化是通过C++自动化IE的好选择吗?
- 22. 自动化程序
- 23. 程序自动化
- 24. 如何让Word在Delphi自动化OLE自动化过程中不可见
- 25. c#UI自动化标签
- 26. “CruiseControl”C++项目自动化?
- 27. 自动化颠覆与C#
- 28. 从C++自动化Microsoft Outlook
- 29. C#自动化到Excel
- 30. C++ 11自动初始化
不要以为你正确地阅读他的问题。 – StefanE
是的,我开始的应用程序存在于对话框之后。问题是,在关闭对话框后,我需要在该应用程序上执行更多任务。 – hs2d