C# 将embedded.ico导出到磁盘

C# 将embedded.ico导出到磁盘,c#,resources,C#,Resources,如何导出已嵌入到Resources.resx中的嵌入式.ico图标文件?我找到了这个例子,但我不确定targetAssembly零件是什么 如果有人能在这里给我一些建议,那将非常有帮助 public static void WriteResourceToFile(Assembly targetAssembly, string resourceName, string filepath) { using (Stream s = targetAssembly.GetMani

如何导出已嵌入到Resources.resx中的嵌入式.ico图标文件?我找到了这个例子,但我不确定targetAssembly零件是什么

如果有人能在这里给我一些建议,那将非常有帮助

public static void WriteResourceToFile(Assembly targetAssembly, string resourceName, string filepath)
    {

        using (Stream s = targetAssembly.GetManifestResourceStream(targetAssembly.GetName().Name + "." + resourceName))
        {

            if (s == null)
            {

                throw new Exception("Cannot find embedded resource '" + resourceName + "'");

            }

            byte[] buffer = new byte[s.Length];

            s.Read(buffer, 0, buffer.Length);

            using (BinaryWriter sw = new BinaryWriter(File.Open(filepath, FileMode.Create)))
            {

                sw.Write(buffer);

            }

        }

    }
从您对Jeremy答案的评论来看,您的应用程序属性中已经存储了图标。如果是这样的话,就不需要手动查找它并从正在执行的程序集中解析它

如果查看,您将看到它有一个名为
Save(…)
的方法。有点方便,不是吗

要将其保存到磁盘,只需打开
FileStream
并调用
save

就你而言:

using (var fStream = new FileStream(Path.Combine(userDir, "iconName.ico"), FileMode.OpenOrCreate, FileAccess.Write))
{
    Properties.Resources.iconName.Save(fStream);
}

简单的东西,只需阅读文档。

请参阅我的第二次编辑,并查看您的编辑2需要像Jason posted这样的文件流,而不是字符串。不,
Properties.Resources.iconName.Save
方法有5个重载。我检查了这个,你一定看到了Jason的答案,认为这个方法只支持流。非常感谢你的帮助。我知道我对这一切都不熟悉,这一定会让你感到沮丧,但我正在努力以最好的方式学习。你认为我在这里发布之前,还没有花几个小时在谷歌上寻找答案吗?当你知道去哪里找的时候,这很容易。我知道这可能会令人沮丧,但C#中的大多数类通常都在MSDN站点上有很好的文档记录。只需浏览页面
Save
上的方法,您可能会想了解一下。然后你可以用谷歌
将图标保存到磁盘C 35;
或类似的东西。