IWshShortcut目标路径在目标文件名中不占用两个点

时间:2016-10-19 08:49:51

标签: c#

我正在尝试使用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” enter image description here

整个事情发生在笔记本电脑上,以便在远程服务器中创建快捷方式。我使用WNetAddConnection2连接到登录用户的服务器桌面目录(为admin用户提供用户名和密码)。

它似乎适用于本地笔记本电脑。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试添加目标路径,如下所示

shortcut.TargetPath = WorkingDirectory + @"\CompanyName.ApplicationName.exe";