如何制作当前鼠标指针的位图?

时间:2011-01-11 16:53:36

标签: python windows

我想用Python编写一个截图工具。现在我正在研究如何做。我有一个脚本使用像here这样的win32 api制作截图,但是想在屏幕截图中包含鼠标指针。

使用win32gui.GetCursorInfo(),我得到它的状态(显示/隐藏),它的句柄和它的位置。我的目标是使用句柄访问光标的实际位图,复制它,并将其添加到我在右侧坐标的屏幕截图中。但是,我似乎找不到任何文件,说明一旦我得到它就可以用这个句柄做什么。

我想我可能不得不像屏幕截图本身一样,即获取光标的DC,创建与其兼容的位图并使用BitBlt复制到其中。我是在正确的轨道上吗?

3 个答案:

答案 0 :(得分:3)

python win32 api是否包含DrawIconEx:

http://msdn.microsoft.com/en-us/library/ms648065%28v=vs.85%29.aspx

你需要创建一个可绘制的上下文来编写它,然后传递它和光标句柄...

(或普通的DrawIcon)

答案 1 :(得分:0)

Anther选项实际上是使用Python Imaging Library(PIL) 你可以用它轻松编辑位图。 (实际上使用win32 apis要简单得多。)

你可以使用ImageGrab和ImageDraw

答案 2 :(得分:0)

从GetCursorInfo获取光标的图标句柄后,您可以使用DrawIcon或DrawIconEx绘制它,我假设您正在使用的Win32 API模块支持。您需要为屏幕截图位图创建一个DC以将图标渲染为,是的,但我认为您不需要为光标图标本身创建DC - DrawIcon就足够了。