Process / ProcessStartInfo图标

时间:2016-10-04 14:07:52

标签: .net navision

是否可以为流程定义图标? 例如:赞:

div

图标应显示在任务栏中。 唯一可能的方法(据我所知)来实现这一点是一个链接,但我希望有另一种选择,而不是动态创建一个链接并启动它。

1 个答案:

答案 0 :(得分:0)

该图标与该进程的可执行文件相关联,因此您无法对其进行更改。作为唯一的解决方法,您可以创建可执行文件的快捷方式并为快捷方式设置自定义图标。然后,您可以将快捷方式文件的路径传递到Process.Start(您需要通过项目>添加参考> COM>添加对 Windows脚本宿主对象模型的COM引用; Windows脚本宿主对象模型为此工作):

using System;
using System.Diagnostics;
using IWshRuntimeLibrary;

class Program
{
    private static void Main(string[] args)
    {
        string shortcutAddress = Environment.GetFolderPath(
            Environment.SpecialFolder.Desktop) + @"\MyProcess.lnk";

        var shell = new WshShell();
        var shortcut = (IWshShortcut)shell.CreateShortcut(shortcutAddress);
        shortcut.Description = "New shortcut for a Notepad";
        shortcut.Hotkey = "Ctrl+Shift+N";
        shortcut.TargetPath = Environment.GetFolderPath(
            Environment.SpecialFolder.System) + @"\notepad.exe";
        shortcut.IconLocation = Environment.GetFolderPath(
            Environment.SpecialFolder.System) + @"\calc.exe";
        shortcut.Save();

        Process.Start(shortcutAddress);
    }
}