【发布时间】:2021-11-21 20:10:04
【问题描述】:
假设我有一个光标句柄,我想使用该句柄创建一个 WPF 光标实例。
在 Windows 窗体中,System.Windows.Forms.Cursor 类具有接受 IntPtr 的构造函数,但 WPF System.Windows.Input.Cursor 没有接受 IntPtr 的构造函数。知道如何解决这个问题并从 IntPtr 句柄创建 WPF 光标吗?
例如,以下代码(借用自 this post)在 Windows 窗体中工作,但我想在 WPF 中编写等效代码:
[DllImport("kernel32.dll")]
private static extern IntPtr LoadLibrary(string dllToLoad);
[DllImport("user32.dll")]
private static extern IntPtr LoadCursor(IntPtr hInstance, UInt16 lpCursorName);
private void button1_Click(object sender, EventArgs e)
{
var l = LoadLibrary("ole32.dll");
var h = LoadCursor(l, 6);
this.Cursor = new Cursor(h);
}
【问题讨论】:
-
这篇文章的灵感来自于 cmets here 中提出的一个问题。
标签: c# .net wpf winforms .net-core