• 技术文章 >后端开发 >C#.Net教程

    C#开发实例-订制屏幕截图工具(十)在截图中包含鼠标指针形状

    黄舟黄舟2017-03-14 13:41:47原创1414
    在写一此帮助说明类的文档时,截取的图片如果还有鼠标的指针形状,看起来就更直观更友好一些。接下来就讲一下如何在截图中包含鼠标指针形状。

    添加结构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);
            }

    添加方法调用:

    php入门到就业线上直播课:进入学习

    OK,再去截图看看吧!

    以上就是C#开发实例-订制屏幕截图工具(十)在截图中包含鼠标指针形状的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:C#开发实例-订制屏幕截图工具(九)使用自定义光标和QQ截图时的光标(图) 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• c语言中源文件编译后生成什么文件• c语言标识符有哪些类型• asp.net 图片验证码的HtmlHelper• 解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误• C#中GDI+编程10个基本技巧二
    1/1

    PHP中文网