社区
C#
帖子详情
使用Process启动程序后,被阻塞,如何解决
varlj
2012-05-12 04:22:42
我需要使用模块鼠标和键盘来进行一定的自动化操作
现在我使用Process启动了一个进程,然后使用模拟鼠标点击了一个按钮(会打开一个“打开文件”的对话框)
结果发现程序就卡在这里了,不关闭“打开文件”对话框的话,程序就不会继续执行下去
请问这个要如何解决?
...全文
555
10
打赏
收藏
使用Process启动程序后,被阻塞,如何解决
我需要使用模块鼠标和键盘来进行一定的自动化操作 现在我使用Process启动了一个进程,然后使用模拟鼠标点击了一个按钮(会打开一个“打开文件”的对话框) 结果发现程序就卡在这里了,不关闭“打开文件”对话框的话,程序就不会继续执行下去 请问这个要如何解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ilooknow
2012-05-14
打赏
举报
回复
调用process时,某个参数设为,不等待结束即可!
varlj
2012-05-14
打赏
举报
回复
自己用曲线的方式解决了。用VC写了个模拟按键的程序,加上延时,先启动模拟程序,再打开“打开文件”对话框,这样就可以了
不过最好还是希望能在一个程序里面解决,再等几天解决方案看
varlj
2012-05-13
打赏
举报
回复
顶下,大家帮忙再看看
varlj
2012-05-13
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
引用 2 楼 的回复:
引用 1 楼 的回复:
打开对话框,也需要你去模拟点击确定按钮吧,还得保证选择一个文件,否则确定按钮是不管用的,你不动他,它会自动关闭吗
打开“打开文件”对话框后,焦点是在文件名那个输入框里,所以我的想法是使用Ctrl+V把设置好的值粘贴到文件框里,再模拟Alt+O或确定键,这样就实现了文件的选择。
通过断点高度,发现打开“打开文件”对话框后,……
[/Quote]
全部操作都有等待,而且通过断点发现是对话框没关闭,程序就没有继续执行
qldsrx
2012-05-13
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:
打开对话框,也需要你去模拟点击确定按钮吧,还得保证选择一个文件,否则确定按钮是不管用的,你不动他,它会自动关闭吗
打开“打开文件”对话框后,焦点是在文件名那个输入框里,所以我的想法是使用Ctrl+V把设置好的值粘贴到文件框里,再模拟Alt+O或确定键,这样就实现了文件的选择。
通过断点高度,发现打开“打开文件”对话框后,程序就卡在那里不动了,必须我手动……
[/Quote]
模拟了鼠标点击按钮后,等待1秒,然后再模拟粘贴动作,否则对话框还没弹出,你就站过去并模拟确定了,等对话框弹出后,就没动作了。
varlj
2012-05-12
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
你都知道 文件路径了 还不如直接打开 为什么要通过对话框 黏贴进去 再打开 对话框有神马神秘的功能你无法实现的吗
剪切板的数据也是可以直接获取到的
[/Quote]
因为我操作的第三方程序,不是我自己写的
rayyu1989
2012-05-12
打赏
举报
回复
你都知道 文件路径了 还不如直接打开 为什么要通过对话框 黏贴进去 再打开 对话框有神马神秘的功能你无法实现的吗
剪切板的数据也是可以直接获取到的
zhujiawei7
2012-05-12
打赏
举报
回复
那个对话框好像是Dialog的吧,当然要先关闭这个了
varlj
2012-05-12
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
打开对话框,也需要你去模拟点击确定按钮吧,还得保证选择一个文件,否则确定按钮是不管用的,你不动他,它会自动关闭吗
[/Quote]
打开“打开文件”对话框后,焦点是在文件名那个输入框里,所以我的想法是使用Ctrl+V把设置好的值粘贴到文件框里,再模拟Alt+O或确定键,这样就实现了文件的选择。
通过断点高度,发现打开“打开文件”对话框后,程序就卡在那里不动了,必须我手动去选择一个文件或关闭该对话框后,程序才会继续执行下去。
bdmh
2012-05-12
打赏
举报
回复
打开对话框,也需要你去模拟点击确定按钮吧,还得保证选择一个文件,否则确定按钮是不管用的,你不动他,它会自动关闭吗
C#做服务
使用
Process
启动
外部
程序
没窗体
问题
解决
了,必须把方法分享出来造福大家!!! 在WinXP和Win2003环境中,安装服务后,右键单击服务“属性”-“登录”选项卡-选择“本地系统帐户”并勾选“允许服务与桌面交互”即可. 在Win7及以后的环境中,由于微软加强了权限管理,将此功能禁用,需要引用第三方dll, Cjwdev.WindowsApi.dll下载路径:链接:http://pa...
使用
boost::
process
::start_dir
启动
程序
boost::
process
::start_dir是一个用于在指定目录下
启动
程序
的函数。本文将向您展示如何
使用
boost::
process
::start_dir函数来
启动
程序
,并提供相应的源代码示例。接下来,您需要创建一个新的进程对象,并
使用
boost::
process
::start_dir函数来
启动
程序
。总结一下,本文介绍了如何
使用
boost::
process
::start_dir函数在指定的目录中
启动
程序
。这将创建一个新的子进程,并在指定的工作目录中执行指定的
程序
。替换为要
启动
的
程序
的实际路径,将。
使用
Process
类重定向时出现
阻塞
的
解决
方案
来源: http://blog.csdn.net/temateroom/article/details/4871949
使用
Process
类重定向时出现
阻塞
的
解决
方案 标签: outputwinformexceptioninput.net通讯 2009-11-25 16:26 1892人阅读 评论(2) 收藏 举报 本文章已收录于:
Q
Process
调用外部
程序
阻塞
等待问题
解决
Q
Process
调用外部
程序
阻塞
等待问题
解决
简介第一种第二种 简介 在
使用
Q
Process
调用外部
程序
时,可能会遇到两种场景: 1.调用起来之后就不管,直接运行后面的代码 2.调用起来后需要等待外部
程序
执行完成,在继续运行下面的代码 第一种 这种比较简单,新建一个进程设置好参数就可以了 Q
Process
*open
Process
=new Q
Process
(this); //新建一个
process
进程 //绑定
process
进程完成信号,垃圾回收 connect(open
Process
, QOverload&
process
java waitfor_Java调用外部
程序
waitfor()堵塞
解决
【IT168技术】前些天
使用
Java调用外部
程序
的时候,发现线程会堵塞在waitfor()方法。调用方法如下:
Process
process
=Runtime.getRuntime().exec(cmd);
process
.waitfor();如果直接在Shell中调用这个
程序
,
程序
会很快结束,不会僵死。为什么会堵塞呢,原因是当调用exec(cmd)后,JVM会
启动
一个子进程,该进程会与JVM进程建立...
C#
111,126
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章