项目描述
我为一个CAD系统编写了一个插件,它可以批量翻译CAD文件.我希望能在无人看管的情况下运行插件。在处理CAD文件时,有时需要从CAD程序本身进行用户交互。另一个我在这个项目上工作的人编写了一个使用AutoIt来响应消息框的程序,这个程序适用于大多数遇到的情况。
插件使用Visual 2010用C++编写,脚本程序使用AutoIt编写.操作系统是Windows 7。
问题
一些CAD文件将导致CAD程序锁定。我们试图通过使用AutoIt程序检查窗口标题中的“未响应”来克服这一问题,然后终止并重新启动CAD程序和插件,并从它停止的地方拾取。这适用于实际锁定CAD程序的文件。问题是,当CAD程序需要很长时间才能完成时,“不响应”有时会出现在窗口标题中,而不是实际锁定。
当前的工作-环绕
我们现在提出的解决方案是在“未响应”出现后在AutoIt程序中设置一个延迟,然后在重新启动程序之前再次检查。问题是,它只是猜测工作的多长时间来设置计时器。
问题
现在听我的问题。我是否可以使用Windows来区分程序何时实际被锁定或只需要很长时间?或者,我只需要把计时器定得足够高,这样就足以应付这种情况了吗?
发布于 2015-10-02 19:09:12
不幸的是,变得反应迟钝既不是考虑进程锁定的必要条件,也不是充分条件。一个好的程序员可以很容易地保持UI响应,而算法线程已经下降到一个无限循环。
要尝试的事情:
https://stackoverflow.com/questions/32912346
复制相似问题