瑞客论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 912|回复: 46

[其他求助] 如何获取(或截图)游戏窗口的不同鼠标形状

[复制链接]

5

主题

359

帖子

2292

积分

金牌会员

Rank: 6Rank: 6

威望
1002
贡献
843
热心值
1
金币
446
注册时间
2023-12-7
发表于 2024-1-9 18:24 | 显示全部楼层 |阅读模式
10金币
玩过游戏都知道,打怪时鼠标一个刀的形状,捡东西时鼠标一个小手形状。我们如何通过一个程序,或者使用哪个API(C++语言)来捕获鼠标的不同形状呢?截图都可以,可以保存下来。目前截图都是截取不到鼠标形状,请教各位朋友啦。
回复

使用道具 举报

1

主题

211

帖子

2402

积分

永久会员

Rank: 8Rank: 8

威望
1043
贡献
770
热心值
0
金币
589
注册时间
2019-7-19
发表于 2024-1-9 18:24 | 显示全部楼层
  1.         Gdiplus::GdiplusStartupInput gdiplusStartupInput;
  2.         ULONG_PTR gdiplusToken;
  3.         Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, nullptr);

  4.         POINT pt;
  5.         GetCursorPos(&pt);
  6.         /*  0 , 0 改一下*/
  7.         if (pt.x == 0 && pt.y == 0) {
  8.                 CURSORINFO cursorInfo = {sizeof(cursorInfo)};
  9.                 GetCursorInfo(&cursorInfo);
  10.                 if (cursorInfo.flags == CURSOR_SHOWING) {
  11.                         ICONINFO iconInfo;
  12.                         GetIconInfo(cursorInfo.hCursor, &iconInfo);
  13.                         Gdiplus::Bitmap bitmap(iconInfo.hbmColor, nullptr);
  14.                         CLSID clsid;
  15.                         CLSIDFromString(L"{557CF400-1A04-11D3-9A73-0000F81EF32E}", &clsid);
  16.                         bitmap.Save(L"cursor.bmp", &clsid);
  17.                         DeleteObject(iconInfo.hbmColor);
  18.                         DeleteObject(iconInfo.hbmMask);
  19.                 }
  20.         }

  21.         CURSORINFO cursorInfo = {sizeof(cursorInfo)};
  22.         GetCursorInfo(&cursorInfo);
  23.         Gdiplus::GdiplusShutdown(gdiplusToken);
复制代码

回复

使用道具 举报

1

主题

789

帖子

9798

积分

永久会员

Rank: 8Rank: 8

威望
3987
贡献
3734
热心值
0
金币
2077
注册时间
2022-6-29
QQ
发表于 2024-1-9 20:15 | 显示全部楼层
CURSORINFO cursorInfo = { 0 };
cursorInfo.cbSize = sizeof(cursorInfo);

// 获取当前光标信息
if (GetCursorInfo(&cursorInfo)) {
    // 如果光标显示
    if (cursorInfo.flags == CURSOR_SHOWING) {
        // cursorInfo.hCursor 将会有当前显示的光标的句柄
    }
}
回复

使用道具 举报

0

主题

11

帖子

89

积分

注册会员

Rank: 2

威望
38
贡献
51
热心值
0
金币
0
注册时间
2024-1-4
发表于 2024-1-9 20:16 | 显示全部楼层
应该可以试一试吧
回复

使用道具 举报

0

主题

496

帖子

2840

积分

金牌会员

Rank: 6Rank: 6

威望
1427
贡献
978
热心值
0
金币
435
注册时间
2023-11-12
发表于 2024-1-9 21:46 | 显示全部楼层
如何获取(或截图)游戏窗口的不同鼠标形状
回复

使用道具 举报

0

主题

496

帖子

2840

积分

金牌会员

Rank: 6Rank: 6

威望
1427
贡献
978
热心值
0
金币
435
注册时间
2023-11-12
发表于 2024-1-9 21:46 | 显示全部楼层
lala1 发表于 2024-1-9 21:46
如何获取(或截图)游戏窗口的不同鼠标形状

如何获取(或截图)游戏窗口的不同鼠标形状
回复

使用道具 举报

5

主题

359

帖子

2292

积分

金牌会员

Rank: 6Rank: 6

威望
1002
贡献
843
热心值
1
金币
446
注册时间
2023-12-7
 楼主| 发表于 2024-1-9 23:17 | 显示全部楼层

哥,你这是Gdiplus是干什么的,第一次遇见呀
回复

使用道具 举报

0

主题

2460

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

威望
7401
贡献
5088
热心值
0
金币
4466
注册时间
2021-1-30
发表于 2024-1-10 07:00 | 显示全部楼层
666666
回复

使用道具 举报

0

主题

2460

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

威望
7401
贡献
5088
热心值
0
金币
4466
注册时间
2021-1-30
发表于 2024-1-10 07:01 | 显示全部楼层
666666
回复

使用道具 举报

0

主题

2411

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

威望
7306
贡献
4986
热心值
0
金币
5359
注册时间
2021-12-30
发表于 2024-1-10 07:01 | 显示全部楼层
666666
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|瑞客论坛 |网站地图

GMT+8, 2024-4-28 23:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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