我正在Winforms应用程序上使用Visual Studio 2015中的C#。
在我的应用程序中,我有一个返回游标类型的函数,我想将此游标保存到.cur
文件中。
这是我的代码:
public static Cursor CreateCursor(Bitmap bmp, int xHotSpot, int yHotSpot)
{
IntPtr ptr = bmp.GetHicon();
IconInfo tmp = new IconInfo();
GetIconInfo(ptr, ref tmp);
tmp.xHotspot = xHotSpot;
tmp.yHotspot = yHotSpot;
tmp.fIcon = false;
ptr = CreateIconIndirect(ref tmp);
return new Cursor(ptr);
}
Cursor cr = CreateCursor(GraphicsMaker(), 20, 20));
我想要这样的东西:
string MyPath = "c://MyLocation/Cursor.cur";
cr.save(MyPath);
那我该怎么做?
答案 0 :(得分:1)
按以下说明尝试
//YOUR CURSOR
//Cursor cr = CreateCursor(GraphicsMaker(), 20, 20)); (For Your question)
Cursor cr = new Cursor(Cursors.Arrow.Handle);
//GET ICON FROM YOUR CURSOR HANDLE
Icon ico = Icon.FromHandle(cr.Handle);
//WRITE TO FILE STREAM
using (FileStream fs = new FileStream(@"c:\users\<<XXXX>>\test.cur", FileMode.Create, FileAccess.Write))
ico.Save(fs);
//TESTING
Cursor myCursor = new Cursor(@"c:\users\<<XXXX>>\test.cur");
我可以在您的代码中看到许多非托管资源。希望您能妥善处理它们。