如何将光标转换为可以使用C#保存到.resx文件中的图像?

如何将光标转换为可以使用C#保存到.resx文件中的图像?,c#,dll,cursor,resx,C#,Dll,Cursor,Resx,我正在尝试从用Visual Basic编写的dll文件中读取光标图像。到目前为止,该程序可以很好地拉出字符串和位图,但它不喜欢拉出游标。取出资源后,程序将它们保存在.resx文件中,而不是dll中。我遇到了一些问题,因为我不认为.resx文件直接支持游标 以下是我到目前为止的情况: [DllImport("user32.dll")] static extern IntPtr LoadCursor(IntPtr hInstance, uint lpCursorName);

我正在尝试从用Visual Basic编写的dll文件中读取光标图像。到目前为止,该程序可以很好地拉出字符串和位图,但它不喜欢拉出游标。取出资源后,程序将它们保存在.resx文件中,而不是dll中。我遇到了一些问题,因为我不认为.resx文件直接支持游标

以下是我到目前为止的情况:

    [DllImport("user32.dll")]
    static extern IntPtr LoadCursor(IntPtr hInstance, uint lpCursorName);

    [DllImport("kernel32.dll")]
    public static extern IntPtr LoadLibrary(string dllToLoad);

    var Lib = LoadLibrary("myLib.dll");

            IntPtr cRes = LoadCursor(Lib,101);
            Cursor c = new Cursor(cRes);
            writer.AddResource("cursor_" + 101, c);
这在其他文件上非常有效,但是当我尝试使用游标时,它抛出一个“InvalidOperationException”,并表示图像格式无效。它实际上将句柄加载到游标中没有问题,但在我尝试将其保存为.resx时将抛出异常。我尝试将光标作为位图加载,但这只是加载一个空白图像。CursorConverter似乎也不适用于图像


所以,如果有人对如何解决这个问题有任何想法,请告诉我。谢谢大家!

LoadCursor的文档说明它已被LoadImage取代。您尝试过使用它吗?

使用“IntPtr cRes=LoadImage(Lib,101,2,0,0,1);”仍然会抛出相同的错误。