如何在C#中创建相对的Windows快捷方式?
我试图在这里结合两个问题:1)和2) 我有以下代码来创建快捷方式(基于我看到的问题),但在分配如何在C#中创建相对的Windows快捷方式?,c#,windows,C#,Windows,我试图在这里结合两个问题:1)和2) 我有以下代码来创建快捷方式(基于我看到的问题),但在分配快捷方式时会引发异常。TargetPath:“值不在预期范围内” 如何修复此问题并创建相对快捷方式 注意:我不想写一个批处理脚本来实现这一点,因为我的软件很可能安装在用户无法访问命令行的PC上-我们的客户机通常有非常锁定的机器,几乎肯定没有运行批处理文件的正确权限。如果您对如何创建“可移植”文件夹(在子文件夹中包含my.exe)有任何建议,用户只需双击顶级文件夹中的某个内容即可运行exe,我欢迎您的建议
快捷方式时会引发异常。TargetPath
:“值不在预期范围内”
如何修复此问题并创建相对快捷方式
注意:我不想写一个批处理脚本来实现这一点,因为我的软件很可能安装在用户无法访问命令行的PC上-我们的客户机通常有非常锁定的机器,几乎肯定没有运行批处理文件的正确权限。如果您对如何创建“可移植”文件夹(在子文件夹中包含my.exe)有任何建议,用户只需双击顶级文件夹中的某个内容即可运行exe,我欢迎您的建议 不能将参数放入
TargetPath
-属性中。(见附件)
将它们放入参数
-属性:
public void CreateShortcut() {
IWshRuntimeLibrary.WshShell wsh = new IWshRuntimeLibrary.WshShell();
IWshRuntimeLibrary.IWshShortcut shortcut = wsh.CreateShortcut(Path.Combine(outputFolder, "sc.lnk")) as IWshRuntimeLibrary.IWshShortcut;
shortcut.Arguments = "/c start \"\" \"%CD%\\folder\\executable.exe\"";
shortcut.TargetPath = "%windir%\\system32\\cmd.exe";
shortcut.WindowStyle = 1;
shortcut.Description = "executable";
shortcut.WorkingDirectory = "%CD%";
shortcut.IconLocation = "P:\ath\to\any\icon.ico";
shortcut.Save();
}
不能在
TargetPath
-属性中放置参数。(见附件)
将它们放入参数
-属性:
public void CreateShortcut() {
IWshRuntimeLibrary.WshShell wsh = new IWshRuntimeLibrary.WshShell();
IWshRuntimeLibrary.IWshShortcut shortcut = wsh.CreateShortcut(Path.Combine(outputFolder, "sc.lnk")) as IWshRuntimeLibrary.IWshShortcut;
shortcut.Arguments = "/c start \"\" \"%CD%\\folder\\executable.exe\"";
shortcut.TargetPath = "%windir%\\system32\\cmd.exe";
shortcut.WindowStyle = 1;
shortcut.Description = "executable";
shortcut.WorkingDirectory = "%CD%";
shortcut.IconLocation = "P:\ath\to\any\icon.ico";
shortcut.Save();
}
“某物”不能是可执行文件吗?可以,但那是最后的手段。我希望使整个“软件包”尽可能轻和大容量。难道“某物”不能成为可执行文件吗?可以,但那是最后的选择。我希望使整个“包装”尽可能轻和散装。