0

Resources.resx に埋め込んだ .ico アイコン ファイルをエクスポートするにはどうすればよいですか? この1つの例を見つけましたが、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

(ジェレミーの回答に対するコメントから)アプリケーションのプロパティにアイコンが既に保存されているようです。その場合は、手動で検索して、実行中のアセンブリから解析する必要はありません。

Icon Documentationを見ると、 というメソッドがあることがわかりますSave(...)。ちょっと便利じゃないですか。

ディスクに保存するには、 a を開いてFileStreamを呼び出すだけ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 に答える