问题:需要读取/捕获由非 VB 应用程序生成的 Windows 弹出消息的文本。
情况: 我有一个 VB6 应用程序,其中一部分需要处理一个 Excel 工作簿。出现一个非 vb-6 弹出窗口(如附加屏幕)“文件转换正在进行中”,同时从旧的 MS Excel 应用程序打开新版本的 excel-sheet。并自动关闭 alos。
要求:我想在代码中捕获该弹出窗口。然后为那个非vb-6弹窗的'取消'按钮点击事件编写条件语句代码。
任何人都可以提出一些建议吗?
问题:需要读取/捕获由非 VB 应用程序生成的 Windows 弹出消息的文本。
情况: 我有一个 VB6 应用程序,其中一部分需要处理一个 Excel 工作簿。出现一个非 vb-6 弹出窗口(如附加屏幕)“文件转换正在进行中”,同时从旧的 MS Excel 应用程序打开新版本的 excel-sheet。并自动关闭 alos。
要求:我想在代码中捕获该弹出窗口。然后为那个非vb-6弹窗的'取消'按钮点击事件编写条件语句代码。
任何人都可以提出一些建议吗?
您可以使用以下 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 中正确使用它们。