所以我有一个非常令人沮丧的问题。我有一个用C#编写的WPF应用程序运行Windows 10(版本1703,OS Build 15063.0),它为当前运行的可执行文件创建快捷方式。问题是,当我创建这些时,我为快捷方式设置了一个不同的(自定义)图标。我不认为这会是一个问题,但下次我运行应用程序(从原始位置)时,它会显示我为任务栏中的快捷方式设置的自定义图标。只是任务栏。标题栏和任务管理器显示正确的图标和标题。我在这做错了什么?在这一点上,我认为这是一个Windows错误。我创建快捷方式的方法如下:
public void CreateShortcut(string name)
{
string AppDir = GetAppDataDir();
object shDesktop = (object)"Desktop";
WshShell shell = new WshShell();
string shortcutAddress = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\" + name + ".lnk";
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutAddress);
shortcut.Description = "Play " + name + "!!";
shortcut.Hotkey = "Ctrl+Shift+N";
shortcut.WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
shortcut.TargetPath = Directory.GetCurrentDirectory() + "/Catapult.exe";
shortcut.Arguments = "-play \"" + name + "\"";
shortcut.IconLocation = AppDir + "/Games/" + name + ".ico";
shortcut.Save();
}
答案 0 :(得分:0)
看来我的解决方案是没有解决方案。在当前状态下,Windows 不允许您使用自定义图标创建快捷方式,这些图标引用可执行文件,而不会弄乱该可执行文件的现有图标。对我来说,这是不可接受的,因为我现在必须使用笨重的代码来解决这个问题(没有比这更糟的了,我是对的吗?)。 Microsoft需要尽快在Explorer中修复这个古怪的实现。