以编程方式更改程序图标

Posted

技术标签:

【中文标题】以编程方式更改程序图标【英文标题】:Programmatically change the program icon 【发布时间】:2012-08-17 01:07:24 【问题描述】:

我正在使用 VS 2010/C# 进行开发。

有谁知道如何以编程方式更改软件图标?

我实际上希望我的软件在同一软件安装中在 Windows 7 下有一个图标,在 Windows XP 下有另一个图标。

【问题讨论】:

如果您在谈论启动器图标,那么您的安装程序就是添加它的原因。因此,您需要更改您的安装程序,以便进一步提供建议,我需要知道您使用的是什么安装程序。 不 regurd 安装过程.. 我希望在安装过程之后我会在 Windows7 c:\program Files\mysoftware.exe(with Icon1) 和 windows XP c:\program Files\mysoftware.exe(with Icon2)...该软件在两个操作系统中执行相同的操作,但我需要它们是不同的图标... 这很难做到,图标作为非托管资源嵌入在EXE中。最好的方法是让您的安装程序使用自定义构建操作创建一个 .lnk 文件。 【参考方案1】:

如果是winform应用,可以在主窗体的formload事件中编写如下代码。

使用此链接查找操作系统: http://andrewensley.com/2009/06/c-detect-windows-os-part-1/

然后编写下面的代码来设置图标。

private void InvestorReportingFormLoad(object sender, EventArgs e)
        
            this.Icon = Properties.Resources.coins;            
        

【讨论】:

我不认为这是答案,因为它只是改变了表单的图标。他要求更改程序图标或应用程序。【参考方案2】:
 this.Icon = Icon.ExtractAssociatedIcon(@"Stringpath");

【讨论】:

以上是关于以编程方式更改程序图标的主要内容,如果未能解决你的问题,请参考以下文章

我可以以编程方式更改应用程序图标吗

如何在 Android 中以编程方式更改应用程序图标?

如何在 Android 2016 中以编程方式更改应用程序图标

使用“Assets.xcassets”中的图像文件以编程方式更改 iOS 应用程序图标

xml 如何在Android中以编程方式更改应用程序图标

我们可以以编程方式更改在 iPhone 中创建的快捷方式的图标和名称吗