【问题标题】:How to create a desktop shortcut as a url file with parameters如何将桌面快捷方式创建为带有参数的 url 文件
【发布时间】:2016-12-09 00:50:25
【问题描述】:

我想在桌面上创建一个使用 c# 的应用程序的快捷方式。这是我的代码:

StreamWriter sw = new StreamWriter(DesktopPath + @"\" + theData.Name + ".url");
sw.WriteLine("[InternetShortcut]");
sw.WriteLine("URL=file:///" + @"C:\Program Files\some Software\app.exe -r " + theData.Name + " -u " + theData.User);
sw.WriteLine("IconIndex=0");
sw.Close();

这很好用,接受参数(-r、-u 或其他东西)。使用参数时,会出现 file was not found 的错误,我应该确定拼写,然后再试一次。抱歉,错误信息不是英文的,所以我必须翻译。

如果我将它不带参数写入 url 文件,它就可以工作。

在 cmd 中,参数有效。

【问题讨论】:

  • 请提供错误原因
  • 井文件未找到。
  • 我指的是实际的输出错误(过去我看到过人们在遇到错误时误解输出的情况)而不是错误的描述
  • 好的,我加了图片
  • 您可能需要创建一个实际的快捷方式 (lnk) 而不是 url 文件。

标签: c# url


【解决方案1】:

这听起来可能过于简单了;但是,我建议您试一试。

StreamWriter sw = new StreamWriter(DesktopPath + @"\" + theData.Name + ".url");
sw.WriteLine("[InternetShortcut]");
sw.WriteLine("URL=file:///" + @"""C:\Program Files\some Software\app.exe"" -r " + theData.Name + " -u " + theData.User);
sw.WriteLine("IconIndex=0");
sw.Close();

这是在应用程序文件路径周围放置引号,允许将信息与您传递的参数分开。

【讨论】:

  • 它不起作用(Windows 10 20H2)。 URL= 中的完整字符串被解释为要执行的应用程序的路径。尽管有任何数量的报价。示例: URL=file:///"C:\SF\opc\OpcCn.exe" -u=dev1 -p=1!965d93a6~12UzMhMqoD - Windows 报告文件不是文件并显示完整 url(但 exe 存在)
猜你喜欢
  • 2013-03-14
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 2011-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
相关资源
最近更新 更多