![]() |
1
5
概述 更改.exe文件中的图标很简单,但有点麻烦。您可能需要做三件事:
细节
第3步-实际上编辑.exe文件-是最有趣的,所以我将从这里开始。您将使用
您需要添加
对于步骤1-阻止.exe被锁定-简单的解决方案是向应用程序启动添加代码,该代码检查当前.exe是否从临时目录运行(
对于步骤2——更正权限——这只是修改ACL并可能触发UAC对话框的问题。有很多例子,你可能不需要这样做,所以我将跳过进一步的解释。 最后说明 以上步骤实际上允许您编辑真实.exe文件的实际图标。但是,如果您只需要更改可视图标,我建议您使用快捷方式并编辑其图标。 |
![]() |
2
3
在文件夹窗口中查看exe时看到的图标设置在exe中,可以从代码中更改该图标,但比您想象的麻烦多。 您在“开始”菜单、桌面和快速启动工具栏上看到的图标设置在快捷方式文件(每个位置上的不同文件)中,编辑这些文件并不难。 你可以用COM和IShellLink来完成。 http://msdn.microsoft.com/en-us/library/bb776891%28VS.85%29.aspx 下面是一个包装类,它简化了一些事情: http://vbaccelerator.com/home/NET/Code/Libraries/Shell_Projects/Creating_and_Modifying_Shortcuts/article.asp 您也可以使用Windows脚本主机: http://www.codeproject.com/KB/dotnet/shelllink.aspx |
![]() |
3
2
Nir's suggestion 如果你想改变桌面图标,使用快捷方式是最好的方法。 对于无窗口应用程序,最好的方法可能是在通知区域安装一个图标。您可以在通知区域中阅读有关在Win32中添加/更改图标的详细信息。 here . .NET通过以下方式支持此功能: System.Windows.Forms.NotifyIcon . 这些API中的任何一个都可以让您根据需要更改/设置图标的动画;为您提供一个批准的位置来通知用户事件;为您提供一个中心位置,让用户使用菜单与应用程序交互。这样做的好处是,即使窗口最大化,您的图标仍然可见(前提是用户没有隐藏它,在这种情况下,您可能希望让他们这样做)。 也见 Windows 7 guidelines 为了礼貌地使用通知区域。使用操作系统总是比反对它更容易。 |
![]() |
4
0
嗯,你不应该在运行时更改一个exe文件! 程序集图标在项目文件中定义。您可以将其作为构建过程的一部分进行更改,但不能在应用程序运行后进行更改。 你想达到什么目的? |
![]() |
5
0
从 msdn :
对我来说,处理这个问题的自然方法就是改变Windows资源管理器的行为方式。 我建议您看看shell扩展。您可能能够编写一个shell扩展,它根据某种状态更改图标,或者使用图标覆盖来指示状态。其中最棘手的部分是让shell扩展了解应用程序状态。 一个可执行文件可以有多个图标资源,shell扩展可以从应用程序中提供的图标中获取特定的图标。 |
![]() |
Kryptonit364 · 在DataGrid中隐藏调整大小和选择列 3 年前 |
![]() |
hassan Ma · 从顶部将文本插入WPF文本块 3 年前 |
![]() |
Arijit · 移动画布内绘制的矩形 3 年前 |
![]() |
juraj14466 · C#WPF实时图表将点渲染为图像 3 年前 |