孙广东 2015.11.8
这篇文章是 无意间 从网上的 看到的一篇文章, 个人角色挺有意思的。 当然了原理还是很简单的。
直接用windows API改系统图标的方式,不过这种方式的劣点有2个:
1、直接更改系统的鼠标图标,不只是针对某一个窗口,所以在程序退出时需要还原默认图标,不然鼠标一直是保持我们更改后的效果;
2、只针对pc项目。
一、导入包
using System.Runtime.InteropServices;
using System;
二、光标资源加载函数
//光标资源加载函数
//fileName为加载路径下的.cur文件
[DllImport("User32.DLL")]
public static extern IntPtr LoadCursorFromFile(string fileName);
三、设置系统指针函数
//设置系统指针函数(用hcur替换id定义的光标)
//hcur用于表示指针或句柄的特定类型,可以用LoadCursorFromFile函数加载一个路径下的.cur指针文件
//id是系统光标标识符,例:
//* OCR_APPSTARTING:标准箭头和小的沙漏;
//* OCR_NORAAC:标准箭头;
//* OCR_CROSS:交叉十字线光标;
//* OCR_HAND:手的形状(WindowsNT5.0和以后版本);
//* OCR_HELP:箭头和向东标记;
//* OCR_IBEAM:I形梁;
//* OCR_NO:斜的圆;
//* OCR_SIZEALL:四个方位的箭头分别指向北、南、东、西;
//* OCR_SIZENESEW:双箭头分别指向东北和西南;
//* OCR_SIZENS:双箭头,分别指向北和南;
//* OCR_SIZENWSE:双箭头分别指向西北和东南;
//* OCR_SIZEWE:双箭头分别指向西和东;
[DllImport("User32.DLL")]
public static extern bool SetSystemCursor(IntPtr hcur, uint id);
public const uint OCR_NORMAL = 32512;
四、查询或设置的系统级参数函数(用于重置系统光标)