C# 在c中以编程方式替换/添加资源(图标)?

C# 在c中以编程方式替换/添加资源(图标)?,c#,.net,resources,icons,C#,.net,Resources,Icons,我试图用c替换或添加.exe文件中不存在的图标 到目前为止,我得到了这个: string filename = "c:\\test.exe"; IntPtr hResource = BeginUpdateResource(filename, true); if (hResource.ToInt32() == 0) throw new Exception("File Not Found"); byte[]

我试图用c替换或添加.exe文件中不存在的图标

到目前为止,我得到了这个:

        string filename = "c:\\test.exe";

        IntPtr hResource = BeginUpdateResource(filename, true);
        if (hResource.ToInt32() == 0)
            throw new Exception("File Not Found");

        byte[] ico = System.IO.File.ReadAllBytes("C:\\icon.ico");
        IntPtr unmanagedPointer = Marshal.AllocHGlobal(ico.Length);
        Marshal.Copy(ico, 0, unmanagedPointer, ico.Length);

        if (UpdateResource(hResource, "Icon", "1", 1033, unmanagedPointer, Convert.ToUInt32(ico.Length)) != false)
        {
            MessageBox.Show("Updated");
            EndUpdateResource(hResource, false);
        }

        Marshal.FreeHGlobal(unmanagedPointer);

图标,1,1033您是否正在尝试为您正在安装/运行的应用程序设置图标?或者对于现有的第三方应用程序安装?我正在尝试从我的应用程序中修改第三方应用程序的图标。就像资源黑客一样,但我想更自动地做,比如选择图标并单击按钮,而不必设置包含图标的资源的名称等等。请您看看这个。