c# 读取 exe 的icon 和应用名称
时间: 2024-10-17 08:13:25 浏览: 29
c#图片转换icon程序及源码
在C#中,要读取.exe文件的图标(Icon)和应用程序名称(通常在Manifest部分),你可以使用`System.Drawing`命名空间下的`Icon`类以及`Assembly`类。下面是一个简单的示例:
```csharp
using System;
using System.Drawing;
using System.IO;
using System.Reflection;
class Program
{
static void Main(string[] args)
{
// 获取当前执行的应用程序信息
Assembly assembly = Assembly.GetEntryAssembly();
// 获取程序集的图标资源
Icon icon = assembly.GetManifestResourceStream("YourAssemblyName.Resources.AppIcon.ico") as Icon; // "YourAssemblyName"替换为实际的exe文件的Assembly Name
if (icon != null)
{
Console.WriteLine("Application Icon:");
foreach (Icon curIcon in icon.ToBitmap().GetIcons())
{
Console.WriteLine($"Width: {curIcon.Width}, Height: {curIcon.Height}");
}
}
// 获取程序集的属性,包括名称
string appName = assembly.GetName().Name;
Console.WriteLine("Application Name: " + appName);
// 关闭资源流
((IDisposable)icon).Dispose();
}
}
```
在这个例子中,你需要将`YourAssemblyName.Resources.AppIcon.ico`替换为你想要读取的实际图标文件名(假设它在应用程序资源中)。如果你的图标在其他位置,可能需要调整路径。
请注意,这个方法仅适用于Windows平台,并且依赖于.exe文件中包含的元数据。如果元数据丢失或损坏,可能会无法获取正确的图标和名称。
阅读全文