0

如何导出已嵌入 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);

            }

        }

    }
4

1 回答 1

2

看起来(根据您对 Jeremy 的回答的评论)您已经将 Icon 存储在您的应用程序属性中。如果是这种情况,则无需手动查找它并将其从正在执行的程序集中解析出来。

如果您查看图标文档,您会发现它有一个名为Save(...). 是不是有点方便?

将其保存到磁盘就像打开 aFileStream并调用Save.

在你的情况下:

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

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

于 2013-03-20T03:25:11.327 回答