作者:孟宪会 微软MVP
Test.cs
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Reflection;
namespace ColorCursor
{
public class Form1 : System.Windows.Forms.Form
{
[DllImport("user32.dll")]
public static extern IntPtr LoadCursorFromFile( string fileName );
[DllImport("user32.dll")]
public static extern IntPtr SetCursor( IntPtr cursorHandle );
[DllImport("user32.dll")]
public static extern uint DestroyCursor( IntPtr cursorHandle );
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
public Form1()
{
this.Text = "欢迎光临21世纪asp.net技术网:http://www.21asp.net/";
Cursor myCursor = new Cursor(Cursor.Current.Handle);
//dinosau2.ani为windows自带的光标:
IntPtr colorCursorHandle = LoadCursorFromFile(@"C:/WINNT/Cursors/dinosau2.ani" );
myCursor.GetType().InvokeMember("handle",BindingFlags.Public |
BindingFlags.NonPublic | BindingFlags.Instance |
BindingFlags.SetField,null,myCursor,
new object [] { colorCursorHandle } );
this.Cursor = myCursor;
}
}
}

博客展示了使用.NET和ASP.NET技术实现自定义光标的代码。通过引入多个System命名空间,利用DllImport调用user32.dll中的函数,加载Windows自带光标文件并设置到窗体上,体现了在Windows环境下的编程应用。
1913

被折叠的 条评论
为什么被折叠?



