小编Dan*_*nyO的帖子

确定应用程序是否被阻止/忙碌?

我正在尝试使用C#/ .NET 4.0自动化外部应用程序的GUI

自动化的应用程序(AUT)是一个VB6应用程序.

在执行操作或单击按钮时,AUT有时会花费大量时间等待DB响应.当应用程序正在等待数据库结果时,应用程序本身处于空闲状态(不会注册很多CPU使用率),但它被阻止(您无法单击或与之交互).

- 到目前为止,我已经尝试将鼠标指针(沙漏)作为指示器,但有时应用程序被阻止但光标正常.所以这不可靠.

- 我已经尝试查看TotalProcessorTime的AUT的主要过程(这可以测量应用程序是IDLE还是BUSY),但就像我说的那样,有时应用程序是IDLE,并且仍然被阻止.

所以我想在stackOverflow人群的体验中加入,看看是否有人已经知道如何处理,和/或如果你对如何实现这一点有任何想法.

谢谢

编辑:

我一直在玩,只是发现了一些东西.

当AUT被阻止时,它不响应键盘或鼠标输入.但是,如果我将WM_LBUTTONCLICK消息发送到窗口,我可以确认消息正在处理(并且UI更改).

所以我猜他们在进行数据库调用时故意阻止应用程序.

.net c# ui-automation

8
推荐指数
1
解决办法
6452
查看次数

标签 统计

.net ×1

c# ×1

ui-automation ×1