c# - 使用正在使用的快捷方式 (%PROGRAMFILES%) 启动应用程序

标签 c#

我想知道有什么方法可以使用像%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/

相关文章:

多个应用程序需要通信时的 C# 最佳方法

c# - 在 Visual Studio 的 Debug模式下并排启动来自同一解决方案的 2 个项目

c# - 如何显示对话框并捕获响应

c# - NHibernate - session 单例 C#

c# - UWP 从任务更新 UI

c# - Word 文档中的 Excel 范围在更新链接后不保留格式

c# - 如何将两个客户列表合并为一个列表

c# - 常用操作的图标与文本

javascript - SignalR 中未发送私有(private)消息

javascript - 获取 C# 中由 javascript 创建的隐藏字段