c# 读取 指定exe 的icon 和名字
时间: 2024-10-17 11:13:43 浏览: 18
在 C# 中,你可以使用 `System.Drawing` 命名空间里的 `Icon` 类以及 `Process` 类来获取指定 exe 文件的图标和名称。以下是一个简单的示例:
```csharp
using System;
using System.IO;
using System.Drawing.Icon;
public class Program
{
public static void Main(string[] args)
{
try
{
// 获取程序文件路径
string filePath = "path_to_your_exe.exe"; // 替换为你实际的exe文件路径
// 创建 Process 对象
using (Process process = new Process())
{
// 设置进程属性
process.StartInfo.FileName = filePath;
process.StartInfo.UseShellExecute = false; // 避免直接打开,仅用于获取信息
// 加载进程
process.Start();
// 等待进程启动
process.WaitForExit(5000); // 如果需要,可以调整等待时间
// 获取进程的主窗体图标
Icon icon = process.MainWindowHandle != IntPtr.Zero ?
Icon.FromHandle(process.MainWindowHandle) :
null;
if (icon != null)
{
Console.WriteLine($"Icon path: {icon.IconPath}"); // 输出图标路径
Console.WriteLine($"Icon name: {icon.Name}"); // 输出图标名称
}
else
{
Console.WriteLine("Could not get the icon.");
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
```
这个代码片段首先创建一个 `Process` 对象并设置其为非交互式启动,然后获取该进程的主窗口图标。注意,不是所有进程都有主窗口,如后台服务,这时可能无法获取图标。
阅读全文