0

我正在为我的 Win32 系统开发一些可以查找和响应特定屏幕事件的东西。例如,当我的屏幕(屏幕的 30x30 像素部分)的位图范围 (100,100) 到 (130,130) 与提供的 30x30 像素基线匹配时,请执行特定操作。

任何人都可以让我开始吗?也许有一个框架可以让这更容易?或者我可以使用的包?甚至可能是第 3 方实用程序?

4

1 回答 1

1

您可以尝试获取桌面窗口GetDesktopWindow(dc ( ) 然后将您感兴趣的区域从桌面 dc 位块传输到内存中的 dc( ) 中。在这一切之后不要忘记清理。GetWindowDCCreateCompatibleDCCreateCompatibleBitmapSelectObjectBitBlt

哦,如果您在托管代码中执行此操作,您可以在PInvoke.net上找到所有这些 API 。您还需要使用Imaging.CreateBitmapSourceFromHBitmap将位图从本机位图复制到托管位图中。

我是凭记忆写下这一切的;它曾经在 XP 上工作,但我没有在 Vista 或 Win7 上尝试过。

编辑:在网上快速搜索“.Net 屏幕截图”会返回几个点击,包括这个带有 C# 和 VB.Net 中的示例代码的点击。

于 2009-03-03T06:25:57.853 回答