使用C#编写程序抓取鼠标形状的实现方法

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

如果你需要通过程序获取鼠标的形状,可以按照以下步骤操作:

1.使用GetCursorInfo函数获取当前鼠标信息:

[DllImport("user32.dll")]
public static extern bool GetCursorInfo(out CURSORINFO pci);

[StructLayout(LayoutKind.Sequential)]
public struct POINT
{
public int x;
public int y;
}

[StructLayout(LayoutKind.Sequential)]
public struct CURSORINFO
{
public int cbSize;
public int flags;
public IntPtr hCursor;
public POINT ptScreenPos;
}

2.调用GetIconInfo函数获取鼠标指针的信息和位图:

[DllImport("user32.dll")]
public static extern bool GetIconInfo(IntPtr hIcon, out ICONINFO piconinfo);

[StructLayout(LayoutKind.Sequential)]
public struct BITMAP
{
public int bmType;
public int bmWidth;
public int bmHeight;
public int bmWidthBytes;
public ushort bmPlanes;
public ushort bmBitsPixel;
public IntPtr bmBits;
}

[StructLayout(LayoutKind.Sequential)]
public struct ICONINFO
{
public bool fIcon;
public int xHotspot;
public int yHotspot;
public IntPtr hbmMask;
public IntPtr hbmColor;
}

3.将鼠标图标转换为位图:

Bitmap bmp = null;

if (iconInfo.hbmColor != IntPtr.Zero)
{
bmp = Bitmap.FromHbitmap(iconInfo.hbmColor);
}
else
{
bmp = Bitmap.FromHbitmap(iconInfo.hbmMask);
}

4.使用Graphics对象的CopyFromScreen方法获取鼠标指针的形状:

Rectangle cursorBounds = new Rectangle(cursInfo.ptScreenPos.x, cursInfo.ptScreenPos.y, bmp.Width, bmp.Height);
Graphics graphics = Graphics.FromImage(bmp);

graphics.CopyFromScreen(cursorBounds.Left, cursorBounds.Top, 0, 0, cursorBounds.Size);

以上的是思路和方法,下面是一个简单的源码实现.

            Graphics myGraphics = this.CreateGraphics();
            Cursor.Draw(myGraphics, new Rectangle(e.X, e.Y, 10, 10));

效果如下:


 

附件:下载该文件资源,减少时间成本(增值服务)
不商用,只限学习使用,使用后请删除
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
文件部分展示图(单击放大)
使用C#编写程序抓取鼠标形状的实现方法使用C#编写程序抓取鼠标形状的实现方法
留言
该资源可下载
File Source
.rar
166.58 KB
使用C#编写程序抓取鼠标形状的实现方法使用C#编写程序抓取鼠标形状的实现方法
最新结算
股权转让协议意向书模板
类型: .docx 金额: CNY 2.23¥ 状态: 待结算 详细>
股权转让协议意向书模板
类型: .docx 金额: CNY 0.28¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 2.39¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 0.3¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章