c# 打开第三方应用程序,弹出其一个模式对话框,程序阻塞

fengling2001 2016-04-11 10:02:05
c# CreateProcess 打开第三方应用程序,向其发送消息,弹出一个文件选择对话框,导致程序阻塞,使得没有办法获取该文件选择对话框的句柄,对其进行下一步操作。想问下有没有办法,打开模式对话框,不阻塞主程序的
...全文
252 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengling2001 2016-04-11
  • 打赏
  • 举报
回复
引用 10 楼 shingoscar 的回复:
[quote=引用 7 楼 fengling2001 的回复:] [quote=引用 5 楼 shingoscar 的回复:] 多半是CreateProcess,或者发送消息的参数有问题 否则我打开一个对话框,岂不是windows要卡住了?
相当于打开模式对话框,windows不会有问题,只是这个对话框的宿主程序不能操作[/quote] 你的程序 ----> 另一个程序 ----> 另一个程序的对话框 现在卡住的是:另一个程序 和你去拿那个对话框有什么关系?[/quote] 你的程序 ----> 另一个程序 ----> 另一个程序的对话框,现在我想操作这个对话框,没有办法获取这个对话框的句柄,没有办法后续操作
Poopaye 2016-04-11
  • 打赏
  • 举报
回复
引用 7 楼 fengling2001 的回复:
[quote=引用 5 楼 shingoscar 的回复:] 多半是CreateProcess,或者发送消息的参数有问题 否则我打开一个对话框,岂不是windows要卡住了?
相当于打开模式对话框,windows不会有问题,只是这个对话框的宿主程序不能操作[/quote] 你的程序 ----> 另一个程序 ----> 另一个程序的对话框 现在卡住的是:另一个程序 和你去拿那个对话框有什么关系?
fengling2001 2016-04-11
  • 打赏
  • 举报
回复
引用 6 楼 Yokeqi 的回复:
[quote=引用 4 楼 fengling2001 的回复:] @shingoscar 打开的第三方程序窗口,阻塞主程序的执行 @ starfd 这个我知道,就是想问问有没有别的途径,绕过这个限制 @ zj_zwl PostMessage试过了,不好使
启动第三那方程序就阻塞主线程?还是弹出窗口才阻塞? 那其实主线程被阻塞了,可不可以开个子线程去监视呢,不一定要主线程去拿这个句柄吧?就是这个拿的时间点要确定好。[/quote] 弹出窗口才阻塞,主要是弹出的窗口是模式对话框,我试图用子线程去监视了,目前情况也不好使,还在按这个思路在弄
fengling2001 2016-04-11
  • 打赏
  • 举报
回复
引用 5 楼 shingoscar 的回复:
多半是CreateProcess,或者发送消息的参数有问题 否则我打开一个对话框,岂不是windows要卡住了?
相当于打开模式对话框,windows不会有问题,只是这个对话框的宿主程序不能操作
fengling2001 2016-04-11
  • 打赏
  • 举报
回复
引用 8 楼 fengling2001 的回复:
[quote=引用 6 楼 Yokeqi 的回复:] [quote=引用 4 楼 fengling2001 的回复:] @shingoscar 打开的第三方程序窗口,阻塞主程序的执行 @ starfd 这个我知道,就是想问问有没有别的途径,绕过这个限制 @ zj_zwl PostMessage试过了,不好使
启动第三那方程序就阻塞主线程?还是弹出窗口才阻塞? 那其实主线程被阻塞了,可不可以开个子线程去监视呢,不一定要主线程去拿这个句柄吧?就是这个拿的时间点要确定好。[/quote] 弹出窗口才阻塞,主要是弹出的窗口是模式对话框,我试图用子线程去监视了,目前情况也不好使,还在按这个思路在弄[/quote] 我用子线程去开打模式对话框,主线程监视,不好使
枫0子K 2016-04-11
  • 打赏
  • 举报
回复
引用 4 楼 fengling2001 的回复:
@shingoscar 打开的第三方程序窗口,阻塞主程序的执行 @ starfd 这个我知道,就是想问问有没有别的途径,绕过这个限制 @ zj_zwl PostMessage试过了,不好使
启动第三那方程序就阻塞主线程?还是弹出窗口才阻塞? 那其实主线程被阻塞了,可不可以开个子线程去监视呢,不一定要主线程去拿这个句柄吧?就是这个拿的时间点要确定好。
Poopaye 2016-04-11
  • 打赏
  • 举报
回复
多半是CreateProcess,或者发送消息的参数有问题 否则我打开一个对话框,岂不是windows要卡住了?
fengling2001 2016-04-11
  • 打赏
  • 举报
回复
@shingoscar 打开的第三方程序窗口,阻塞主程序的执行 @ starfd 这个我知道,就是想问问有没有别的途径,绕过这个限制 @ zj_zwl PostMessage试过了,不好使
zj_zwl 2016-04-11
  • 打赏
  • 举报
回复
发送消息的函数换成PostMessage试试
  • 打赏
  • 举报
回复
文件选择对话框本来就是阻塞式的
Poopaye 2016-04-11
  • 打赏
  • 举报
回复
别的进程里的窗口怎么会阻塞你的程序????

111,098

社区成员

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

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

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