问题:需要读取/捕获由非VB应用程序生成的Windows弹出消息的文本。
情况: 我有一个VB6应用程序,其中一部分需要处理excel工作簿。出现一个非vb-6弹出窗口(作为附加屏幕)“进行中的文件转换”,同时从旧的MS Excel应用程序打开新版本的excel-sheet。并自动关闭alos。
要求:我想在代码中捕获弹出窗口。然后为该非vb-6弹出窗口的“取消”按钮单击事件编写条件语句代码。
有人可以提出建议吗?
答案 0 :(得分:0)
您可以使用以下API访问其他应用程序:
FindWindow()
找到您要查找的主窗口
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633499%28v=vs.85%29.aspx
GetWindow()
浏览应用程序的HWND,以便您可以访问该按钮
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633515%28v=vs.85%29.aspx
GetWindowText()
从控件访问文本(它不能是编辑控件)
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633520%28v=vs.85%29.aspx
您需要使用Spy ++(可以下载)来查看出现时要查找的类名,并找出要正确导航的层次结构。
您需要使用API文本查看器来获取API声明,以便您可以在VB6中正确使用它们。