`
testcs_dn
  • 浏览: 114399 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

上一篇: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,再去截图看看吧!


分享到:
评论

相关推荐

    【源码】C#软件开发实例.私人订制自己的屏幕截图工具(四)基本截图功能实现

    此代码对应于博客文章:C#软件开发实例.私人订制自己的屏幕截图工具(四)基本截图功能实现,文章链接:http://blog.csdn.net/testcs_dn/article/details/23346683

    【源码】C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能

    此代码对应于博客文章:C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能,文章链接:http://blog.csdn.net/testcs_dn/article/details/24466763

    C#软件开发实例.私人订制自己的屏幕截图工具中使用的光标文件

    在C#软件开发中,创建一个自定义的屏幕截图工具是一项常见的任务,它涉及到图形用户界面(GUI)的交互和图像处理技术。本实例重点讨论的是如何在这样的工具中使用自定义的光标文件,以提供更加个性化的用户体验。...

    C# 带鼠标屏幕截图

    在C#编程中,开发人员经常需要实现屏幕截图功能,特别是在构建桌面应用或者自动化测试工具时。"C# 带鼠标屏幕截图"这个主题主要关注如何在截取屏幕图像时同时包含鼠标指针的显示。传统的C#图形(Graphics)类虽然...

    C#精彩实例教程.pdf

    C#精彩实例教程.pd 很好一本入门教程

    取当前鼠标指针形状.e.rar

    在IT领域,尤其是在软件开发和用户界面设计中,了解如何获取和处理鼠标指针的形状是非常重要的。"取当前鼠标指针形状.e.rar" 文件很可能包含了一个程序或代码示例,用于演示如何在不同的编程环境中获取鼠标指针的...

    ArcGIS+Engine+C#实例开发教程.pdf

    ArcGIS+Engine+C#实例开发教程.pdf

    200个经典C#WinForm实例源码.rar

    实例中包含了对这些技术的应用,如利用BackgroundWorker异步处理耗时任务,使用PictureBox显示和处理图片,File类进行文件读写,以及Socket进行网络通信等。 六、UI设计与美化 优秀的用户界面能提升用户体验。C# ...

    用C#写的屏幕截屏例子

    在本文中,我们将深入探讨如何使用C#编程语言实现屏幕截屏功能。C#是一种广泛应用于Windows桌面应用开发的强大语言,Microsoft的.NET框架为开发者提供了丰富的API和类库,使得屏幕截屏这样的任务变得简单易行。让...

    C# 指针时钟实例.rar

    本实例“C# 指针时钟实例”提供了一个很好的学习机会,让我们深入了解如何在C#中使用指针来实现动态图像的绘制,特别是创建一个指针时钟。 首先,我们要理解C#中的指针概念。指针变量存储的是其他变量的内存地址。...

    C#软件开发实例,谨供参考

    基于C#的软件开发实例,可供程序人员参考

    利用C#Winform实现区域截屏

    C#是一种广泛使用的编程语言,尤其在Windows应用开发中,Winform是一个强大的工具,它提供了丰富的控件和API,使得创建交互式桌面应用程序变得简单易行。 首先,让我们了解什么是区域截屏。区域截屏允许用户自定义...

    C# 网络通信开发训练实例

    C# 网络通信开发训练-32个实例 C# 网络通信开发训练 实例01 更改计算机名称...... 670 实例02 通过计算机名获取IP地址...... 672 实例03 通过IP地址获取主机名称...... 673 实例04 修改本机IP地址...... 674...

    C# 开发实例大全(基础卷).pdf

    根据提供的文件信息,我们可以推断出这是一本关于C#编程语言的基础实例教程书籍。由于提供的部分内容非常有限,我们将基于标题、描述以及标签中的信息来展开相关知识点。 ### C# 开发实例大全(基础卷) #### 一、...

    c# 抓取鼠标形状 实例

    这个实例将向我们展示如何在C#应用程序中获取并显示鼠标的当前形状。下面,我们将深入探讨实现这一功能所涉及的关键知识点。 首先,我们需要理解Windows API的概念。API(Application Programming Interface)是...

    C#程序150实例.rar

    这个实例能帮助开发者提升解决复杂问题的能力,并理解如何在C#中实现算法。 "Visual C#开发一个媒体播放器"是一个实际的项目开发案例,涵盖了窗体应用程序的设计、多媒体API的使用、事件处理等。通过这个实例,学习...

    C#经典实例.rar

    《C#经典实例详解》 C#是一种由微软公司开发的面向对象的编程语言,它在.NET框架下运行,提供了高效、现代化的编程环境。...在学习过程中,建议结合理论与实践,逐步掌握并熟练运用C#,以应对各种复杂的软件开发挑战。

    C#实例程序.C#实例程序.rar

    本资源“C#实例程序.C#实例程序.rar”包含了一百个C#编程的实例,旨在帮助学习者更好地理解和掌握C#编程技术。这些实例涵盖了C#语言的基础到高级特性,对于初学者和进阶开发者来说都是宝贵的参考资料。 首先,让...

    C#范例宝典(C#高级开发部分实例)

    第18章 C#高级开发....... 781 18.1 Windows服务开发...... 782 实例487 将局域网聊天程序开发成Windows服务...... 782 18.2 Remoting分布式开发...... 789 实例488 运用Remoting实现文件传送...... 789 实例...

    C# 简单爬虫实例.zip

    在本压缩包"C#简单爬虫实例.zip"中,包含了一个C#编程语言实现的简单网络爬虫项目,名为"Simple-Web-Crawler-master"。这个项目非常适合初学者或者对C#有一定基础的开发者,想要了解如何利用C#进行网页抓取和数据...

Global site tag (gtag.js) - Google Analytics