我正在尝试使用IWshShortcut和WshShell创建一个快捷方式。我的exe - 我正在为其创建快捷方式在文件名中有两个点。 这就是我正在做的事情:
string link = Path.Combine(TargetPath, Path.GetFileName(FileName) ?? FileName);
link = Path.ChangeExtension(link, string.Concat(Path.GetExtension(link), ShortcutExtensionString));
var shell = new WshShell();
var shortcut = shell.CreateShortcut(link) as IWshShortcut;
shortcut.Description = Description;
shortcut.Arguments = string.Join(" ", Parameters);
shortcut.TargetPath = Path.Combine(WorkingDirectory, "CompanyName.ApplicationName.exe");
shortcut.WorkingDirectory = string.IsNullOrWhiteSpace(WorkingDirectory)
? TargetPath
: WorkingDirectory;
//save the shortcut.
shortcut.Save();
这样,代码执行得很好,但桌面快捷方式中的目标路径会截断为exe名称,如下所示:“E:\ OSO \ App \ bin \ CompanyName.exe”
整个事情发生在笔记本电脑上,以便在远程服务器中创建快捷方式。我使用WNetAddConnection2连接到登录用户的服务器桌面目录(为admin用户提供用户名和密码)。
它似乎适用于本地笔记本电脑。 我该如何解决这个问题?
答案 0 :(得分:0)
尝试添加目标路径,如下所示
shortcut.TargetPath = WorkingDirectory + @"\CompanyName.ApplicationName.exe";