使用Process启动程序后,被阻塞,如何解决

varlj 2012-05-12 04:22:42
我需要使用模块鼠标和键盘来进行一定的自动化操作
现在我使用Process启动了一个进程,然后使用模拟鼠标点击了一个按钮(会打开一个“打开文件”的对话框)
结果发现程序就卡在这里了,不关闭“打开文件”对话框的话,程序就不会继续执行下去

请问这个要如何解决?
...全文
555 10 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
打开对话框,也需要你去模拟点击确定按钮吧,还得保证选择一个文件,否则确定按钮是不管用的,你不动他,它会自动关闭吗

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧