![]() |
1
8
现在,我需要稍后检查这个问题,但是我确信有一个方法告诉线程等待它准备好输入。您只监视GUI进程吗? 不是 Process.WaitForInputIdle 有什么帮助吗?或者我错过了要点?:) 更新在twitter上聊天(或tweet tweet?)有了门德尔特,我想我应该更新我的答案,这样社区才能充分意识到……
希望有帮助:) |
![]() |
2
4
我认为增强对响应进程的检查可能会更好,这样您只会在响应属性返回false超过5秒(例如)时尝试停止/终止进程。 我认为您可能会发现,应用程序在进行更密集的处理时,可能会在一瞬间“没有响应”。 我相信一个更宽松的方法会更好地工作,允许一个过程在短时间内“不响应”,只有在它重复“不响应”几秒钟(或你想要的时间)时才采取行动。 进一步注意:Microsoft文档指出响应属性专门与用户界面相关,这就是为什么新启动的进程的UI可能没有立即响应的原因。 |
![]() |
3
3
谢谢你的回答。这个
似乎解决了问题。这仍然很奇怪,因为响应和waitForInputIdle都应该在封面下使用相同的win32 api调用。
更多背景信息
我得潜入反射镜看看我能不能理解这一点。
更新
我检查了反射镜,这是什么反应下的封面。如果您过早地获得了主窗口句柄,那么您可能会得到错误的主窗口句柄,并且它在进程的剩余生命周期内或直到您调用refresh()时使用了错误的主窗口句柄;
更新
|
![]() |
4
1
我也注意到在两年前的一个项目中。我在请求某些属性值之前调用了.refresh()。当我需要调用.refresh()时,这是一种反复尝试的方法。 |
![]() |
Coding Dog · Python异步函数不工作。继续跑 1 年前 |
![]() |
cyka · 强制JavaScript等待单击(循环) 2 年前 |
![]() |
CodeMonkey · 无法访问React[重复]中的对象值 2 年前 |
![]() |
Tim · 为异步方法返回列表的最佳方式是什么? 3 年前 |
![]() |
dapidmini · 未捕获的承诺嵌套异步函数承诺错误处理 3 年前 |