在写一此帮助说明类的文档时,截取的图片如果还有鼠标的指针形状,看起来就更直观更友好一些。接下来就讲一下如何在截图中包含鼠标指针形状。
上一篇: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#软件开发实例.私人订制自己的屏幕截图工具中使用的光标文件,参考:http://blog.csdn.net/testcs_dn/article/details/30835107
此代码对应于博客文章:C#软件开发实例.私人订制自己的屏幕截图工具(四)基本截图功能实现,文章链接:http://blog.csdn.net/testcs_dn/article/details/23346683
此代码对应于博客文章:C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能,文章链接:http://blog.csdn.net/testcs_dn/article/details/24466763
《C#开发实例大全(基础卷)》筛选、汇集了C#开发从基础知识到高级应用各个层面约600个实例及源代码,每个实例都按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析解读。全书分6篇共25章,主要...
C#精彩实例教程.pd 很好一本入门教程
C# 装饰模式实例... C# 装饰模式实例... C# 装饰模式实例...
ArcGIS+Engine+C#实例开发教程.pdf
C# Gps定位实例.rar 取手机位置
C#程序150实例.rar C#程序150实例.rar C#程序150实例.rar C#程序150实例.rar
基于C#的软件开发实例,可供程序人员参考
ArcGIS Engine + C# 实例开发教程
c#软件开发实例 三个基础c#软件开发实例,入门学习参考实例
c#皮肤实例源码.c#皮肤实例源码.c#皮肤实例源码.c#皮肤实例源码.c#皮肤实例源码.
C# 网络通信开发训练-32个实例 C# 网络通信开发训练 实例01 更改计算机名称...... 670 实例02 通过计算机名获取IP地址...... 672 实例03 通过IP地址获取主机名称...... 673 实例04 修改本机IP地址...... 674...
C#通讯录实例C#通讯录实例C#通讯录实例
c# 抓取鼠标形状 实例 c# 抓取鼠标形状 实例
此实例包含了多个C#语言中Engine的开发实例代码。
ArcGIS Engine C#实例开发教程.pdf
C#程序100实例.rar