我怎样才能“屏幕抓取” VB6 中的其他 Windows 程序?

发布于 2024-08-20 13:49:24 字数 150 浏览 10 评论 0原文

我想每秒监视一个进程,直到它显示预期的“错误”消息。

我如何监控something.exe并通过“屏幕抓取”从我的vb6程序中的something.exe错误消息获取通知?是否可以终止或单击 vb6 中的“确定”按钮?

这种东西更适合 VB.net 吗?

I would like to monitor a process every second until it displays an expected "error" message.

how can i monitor something.exe and get notification via "screen scraping" the error message from something.exe all from my vb6 program ? is it possible to terminate or click the "okay" button from vb6 ?

is this sort of thing better suited for VB.net ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

听风吹 2024-08-27 13:49:24

创建一个使用以所需频率触发的计时器运行的 vb 应用程序。根据弹出的错误,您最终可能必须将其创建为 Windows 服务以允许其继续运行(主错误窗口可能会锁定对其他窗口的访问,直到得到处理)。

查看API函数EnumWindows。它将为您提供当前打开的窗口/功能的集合。添加新窗口时,您可以检测到屏幕上已显示新的错误窗口。

该错误应该自动冒泡到顶部,但您可以在新窗口的 hwnd 上使用 BringWindowToTop api 调用来确定。

不完全适合,但您可以从以下位置构建参考链接:

api 帮助:
http://www.freevbcode.com/ShowCode.Asp?ID=701

帮助捕获图像:
http://www.codeproject.com/KB/vb-interop/DesktopScreenshotInVB6。 aspx

终止错误消息 - 您可以尝试使用 api 单击按钮,或者也可以硬终止生成错误的应用程序。通过 api 快速杀死:

SendMessage app_hWnd, WM_CLOSE, 0, 0

Create a vb app that runs with a timer that fires at the desired frequency. Depending on the error that pops up, you may end up having to create this as a windows service to allow it to continue running (the main error window may lock access to other windows until dealt with).

Look at the API function EnumWindows. It will get you a collection of the windows/functions currently open. When a new window is added you can detect that a new error window has been displayed to the screen.

The error should bubble to the top automatically, but you can use the BringWindowToTop api call on the new window's hwnd just to be sure.

Not an exact fit but links for reference you can build from:

api help:
http://www.freevbcode.com/ShowCode.Asp?ID=701

help in capturing the image:
http://www.codeproject.com/KB/vb-interop/DesktopScreenshotInVB6.aspx

Killing the error message - you can try to use the api to click the button or alternately you can hard kill the app generating the error. quick kill via api:

SendMessage app_hWnd, WM_CLOSE, 0, 0
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文