如何使用C#将图像用作鼠标指针,而不是默认的箭头

本文关键字:默认 鼠标指针 何使用 图像 | 更新日期: 2023-09-27 18:21:53

浏览后,我有一个代码,通过使用C#给出坐标,以编程方式控制鼠标的移动。我想做同样的事情,但鼠标指针应该被一个点图像取代。我不能得到它…所以请告诉我在C#中是否有任何方法。。。

提前感谢:)

如何使用C#将图像用作鼠标指针,而不是默认的箭头

这里有一个很棒的教程,向您展示了如何做到这一点。

更新

正如Hans Passant提请我注意的那样,还有一种更好的方法。以下是他的版本,摘自Stack Overflow Post:

using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Reflection;
static class NativeMethods {
    public static Cursor LoadCustomCursor(string path) {
        IntPtr hCurs = LoadCursorFromFile(path);
        if (hCurs == IntPtr.Zero) throw new Win32Exception();
        var curs = new Cursor(hCurs);
        // Note: force the cursor to own the handle so it gets released properly
        var fi = typeof(Cursor).GetField("ownHandle", BindingFlags.NonPublic | BindingFlags.Instance);
        fi.SetValue(curs, true);
        return curs;
    }
    [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
    private static extern IntPtr LoadCursorFromFile(string path);
}

这里有一个用法示例:

this.Cursor = NativeMethods.LoadCustomCursor(@"c:'windows'cursors'aero_busy.ani");

祝你好运!!