如何将光标转换为可以使用C#保存到.resx文件中的图像?
我正在尝试从用Visual Basic编写的dll文件中读取光标图像。到目前为止,该程序可以很好地拉出字符串和位图,但它不喜欢拉出游标。取出资源后,程序将它们保存在.resx文件中,而不是dll中。我遇到了一些问题,因为我不认为.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);
[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);”仍然会抛出相同的错误。