TC官方合作论坛

 找回密码
 立即注册
查看: 430|回复: 8
打印 上一主题 下一主题

[已解决] 怎样截图鼠标的形状图片?

[复制链接]
跳转到指定楼层
楼主
发表于 2014-4-14 18:21:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
用了大漠工具AB抓抓想截取一下鼠标光标的形状,但就算是全屏截图也会自动屏蔽掉光标,怎么截取?
回复

使用道具 举报

8#
发表于 2014-4-15 23:05:21 | 只看该作者

用AB抓抓可以截取鼠标的形状图片.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2014-4-16 12:08:10 | 只看该作者
菜鸟狙丶 发表于 2014-4-15 23:05
用AB抓抓可以截取鼠标的形状图片.

我之前知道这个我还以为是ALT或者CTR+Q/W/E,原来两个都要按= =,采纳了
回复 支持 反对

使用道具 举报

7#
发表于 2014-4-15 13:40:20 | 只看该作者
呃 - -  自己用别的语言写个插件吧调用winAPI
回复 支持 反对

使用道具 举报

6#
发表于 2014-4-15 13:39:38 | 只看该作者
Windows 下的鼠标经常会显示出不同的样子以提示当前的操作,所以对于很多程序来说截取鼠标指针当前的图片并进行分析是很有用处的,下面分析两种截取鼠标指针的图片的方法并给出一个示范程序。
截取鼠标指针的图片首先要取得鼠标的句柄,然后用 API 函数 DrawIconEx 将其绘制在画布上,注意在 Windows 下鼠标指针(Cursor)和图标(Icon)是没有区别的,利用 DrawIconEx 的第七个参数 istepIfAniCur 可以将动态光标的不同帧绘制在画布上,具体的应用可以查看 MSDN。
取得鼠标的句柄的第一种方法是利用 API 函数 GetCursorInfo,很奇怪在 MSDN6.0 中查不到这个函数, 无论鼠标是否停留在本进程的窗口上,利用这个函数都可以取得鼠标的信息,示范代码如下:
// 方案 1
function Fun1: HCURSOR;
var
    hCur : TCursorInfo;
begin
    ZeroMemory(@hCur,sizeof(hCur));
    hCur.cbSize:=SizeOf(hCur);
    GetCursorInfo(hCur);
    result:=hCur.hCursor;
end;
取得鼠标的句柄的第二种方法是利用 API 函数 GetCursor,一般情况下,只有当鼠标停留在本进程的窗口上,这个函数才返回正确的鼠标句柄,否则只返回默认的鼠标句柄,也就是小箭的样子,不过可以利用 API 函数 AttachThreadInput 将两个进程进行输入绑定,这样当鼠标停留在其它进程的窗口上,就或以返回正确的鼠标句柄,示范代码如下:
// 方案 2
function Fun2: HCURSOR;
var
    wid : HWND;
    tid : DWORD;
begin
    wid:=GetForegroundWindow; // 获取最前面的窗口
    tid:=GetWindowThreadProcessId(wid,nil); // 获取窗口所在的进程
    AttachThreadInput(GetCurrentThreadId,tid,true);
    result:=GetCursor;
    AttachThreadInput(GetCurrentThreadId,tid,false);
end;
显然第一种方法要优于第二种方法。获得鼠标句柄后的绘制就简单了,绘制后的分析属于图片分析技术这里就不讨论了。我做的示范程序如下:

此主题相关图片如下:
图 1
按“Alt”键可以进行截图,单击“保存截取图片”按纽可以保存截到的图片。这个程序中默认只绘制动态指针的第一帧图片。使用方案 2 时默认获取最前面窗口的鼠标指针,否则只绘制默认的鼠标图片。这个程序自带了一个 KeyHook.dll 文件,这是一个键盘钩子程序,用以监视 Alt 键的按下。
可执行文件下载:
 点击浏览该文件
项目文件下载:
 点击浏览该文件
解决一个问题的方法通常有很多,我只知道上面的两种方法,如果有高手知道其它方法欢迎讨论。

来源: http://programbbs.com/bbs/view12-10736-1.htm
回复 支持 反对

使用道具 举报

5#
发表于 2014-4-14 19:59:01 | 只看该作者
qjj754 发表于 2014-4-14 19:50
思路是不错哦 可惜后台好像也看不到鼠标的图片形状吧  但不过前台可能有效, ...

:)      脑袋想什么,就说什么。  截不到在想个
回复 支持 反对

使用道具 举报

地板
发表于 2014-4-14 19:50:54 | 只看该作者
思路是不错哦 可惜后台好像也看不到鼠标的图片形状吧  但不过前台可能有效,
回复 支持 反对

使用道具 举报

板凳
发表于 2014-4-14 19:50:14 | 只看该作者
石中草 发表于 2014-4-14 19:11
大漠综合工具上截取鼠标特征码,也能截获当前鼠标形状,在从大漠综合工具上截鼠标形状图片 ...

这个方法不错 可惜后台好像也看不到鼠标的图片形状吧
回复 支持 反对

使用道具 举报

沙发
发表于 2014-4-14 19:11:49 | 只看该作者
大漠综合工具上截取鼠标特征码,也能截获当前鼠标形状,在从大漠综合工具上截鼠标形状图片
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-27 23:45 , Processed in 0.183034 second(s), 25 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表