c# - 如何将光标保存到文件 .cur?
问题描述
我在 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);
那么我该怎么做呢?
解决方案
尝试如下所述:
//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");
我可以在您的代码中看到许多非托管资源。希望您能妥善处理它们。
推荐阅读
- r - 在 R 中生成大量特定变量的人口统计表/频率
- spring-boot - 如何在@ControllerAdvice 中打印控制器方法名称?
- nspredicate - CloudKit:针对数组查询谓词列表
- c++ - 在 Eclipse 格式化程序 C++/C 中格式化空行
- sql - Oracle 12c - 如何从已删除的数据库中删除 SID
- visual-studio-code - 通过 VsCode 使用 gdbserver 从 win10 远程调试到 linux_x86_64
- sql - SQL - 如果变量不为空,则包括 where 条件
- c# - 如何通过 HTTP 从 MJPEG 中提取 JPEG?C#
- magento - Magento 1 的报告文件查看器
- powershell - 为 Active Directory 中的所有用户启用还原点的脚本