C#软件开发实例.私人订制自己的屏幕截图工具(十)在截图中包含鼠标指针形状

简介: 在写一此帮助说明类的文档时,截取的图片如果还有鼠标的指针形状,看起来就更直观更友好一些。接下来就讲一下如何在截图中包含鼠标指针形状。上一篇:C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标添加结构CURSORINFO:[StructLayout(LayoutKind.

在写一此帮助说明类的文档时,截取的图片如果还有鼠标的指针形状,看起来就更直观更友好一些。接下来就讲一下如何在截图中包含鼠标指针形状。

上一篇:C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标

添加结构CURSORINFO:

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

声明API:

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

定义枚举值:

private const int CURSOR_SHOWING = 0x00000001;

添加方法:

        /// <summary>
        /// 将鼠标指针形状绘制到屏幕截图上
        /// </summary>
        /// <param name="g"></param>
        private void DrawCursorImageToScreenImage(ref Graphics g)
        {
            if (!this.IsCutCursor) { return; }

            CURSORINFO vCurosrInfo;
            vCurosrInfo.cbSize = Marshal.SizeOf(typeof(CURSORINFO));
            GetCursorInfo(out vCurosrInfo);
            if ((vCurosrInfo.flags & CURSOR_SHOWING) != CURSOR_SHOWING) return;
            Cursor vCursor = new Cursor(vCurosrInfo.hCursor);
            Rectangle vRectangle = new Rectangle(new Point(vCurosrInfo.ptScreenPos.X - vCursor.HotSpot.X, vCurosrInfo.ptScreenPos.Y - vCursor.HotSpot.Y), vCursor.Size);

            vCursor.Draw(g, vRectangle);
        }

添加方法调用:

OK,再去截图看看吧!


目录
相关文章
|
8月前
|
自然语言处理 C# Windows
C#开源免费的Windows右键菜单管理工具
C#开源免费的Windows右键菜单管理工具
117 5
|
21天前
|
程序员 C# 数据库
C# 比较对象新思路,利用反射技术打造更灵活的比较工具
中途接手的项目,碰到需要在更新对象信息时比较并记录差异的需求,最变态的还有附加要求,怎么办?有没有既能满足需求又能对项目影响最小的方法呢?分享这个我封装的方法,一个利用反射技术打造的更灵活的比较工具
|
8月前
|
IDE C# 开发工具
一个开源轻量级的C#代码格式化工具(支持VS和VS Code)
一个开源轻量级的C#代码格式化工具(支持VS和VS Code)
243 6
|
3月前
|
XML 存储 安全
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
170 0
|
3月前
|
数据可视化 程序员 C#
C#中windows应用窗体程序的输入输出方法实例
C#中windows应用窗体程序的输入输出方法实例
66 0
|
3月前
|
SQL JSON BI
最好的 C# .NET 报告工具
最好的 C# .NET 报告工具
54 0
|
5月前
|
传感器 开发框架 JSON
聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例
聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例
253 0
|
6月前
超好看的鼠标指针 折纸Gami
折纸风格的鼠标指针、共九种颜色风格:白、橙、粉、红、黄、蓝、绿、青、紫;三种尺寸:X32、X48、X64;一般情况下100%DPI推荐使用X48、大于125%DPI推荐使用X64版本!
87 6
|
6月前
|
文字识别 自然语言处理 C#
印刷文字识别使用问题之C#发票识别的代码实例在哪里可以查看
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。