我被要求创建一个小工具来帮助自动化基本的 3rd 方 WinForms 应用程序。
到目前为止,我已经设法克服了许多障碍,但这是迄今为止最令人沮丧的障碍之一(花了 8 个小时研究才发现 LVM_GETITEMTEXT 正在返回一个带有 64 位指针的 LVITEM 结构非常令人沮丧) -我似乎根本找不到任何方法来获得对第三方应用程序 StatusStrip 中 ToolStrupStatusLabel 的任何类型的引用。
我知道应用程序已完成分配的任务的唯一迹象是 StatusStrip 何时更新以显示它已完成。如果我无法确定它何时完成一项工作并继续进行另一项工作,我就无法可靠地自动化它的操作。
是否有任何消息可以 SendMessage() 到应用程序?我可以调用任何函数吗?有什么可以帮助我找到此标签上的文本,以便我可以深入了解应用程序的状态?
自动化工具在 C#/Winforms 中使用 pInvoke 进行编程,以实现各种 Windows 功能。我还在 C++ 中创建了自己的 DLL,以帮助从 LVITEM 结构中获取数据,因此 C++ 变通办法也是可能的。