我想知道有什么方法可以使用像%PROGRAMFILES%, %APPDATA%,....
这样的窗口的普通快捷方式吗?在使用 System.Diagnostics.Process.Start 时?
我想做的是使用这些快捷方式之一动态创建用于启动我想使用 Process.Start 启动的程序的路径。 示例:
System.Diagnostics.Process.Start("%PROGRAMFILES%\MyApp\MyApp.exe");
编辑:作为对已接受答案的评论:
由于评论中提到了一件重要的事情,我也想把它放在这里: 如果由于找不到文件而解决方案不起作用,则应打印出 System.Environment.ExpandEnvironmentVariables 命令的结果。可能是它无意中指向 x86 程序文件位置而不是程序文件位置(反之亦然),具体取决于应用程序本身(项目属性)是否相应设置了“首选 32 位”或平台目标。如果牢记这一点,该解决方案将非常有效。
最佳答案
使用System.Environment.ExpandEnvironmentVariables
先进行展开,然后将结果传递给Process.Start
:
System.Diagnostics.Process.Start(
System.Environment.ExpandEnvironmentVariables(@"%PROGRAMFILES%\MyApp\MyApp.exe"));
关于c# - 使用正在使用的快捷方式 (%PROGRAMFILES%) 启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24773827/