Process.Start - 目录 - 而不是%userprofile%

时间:2017-07-19 13:54:23

标签: c# wpf path

大家好,

我是c#中的WPF新手,需要知道如何用基本相当于%userprofile%的内容替换我的用户名,以便该文件可以在其他计算机上运行。

我看过很多像这样的问题,但似乎无法找到我想要的东西。

到目前为止我有什么......

Process.Start(@"C:\\Users\Alexander\Desktop\She's here\She's here..lnk");

这适用于我的计算机,但我需要它可以在所有实例中使用。

我尝试过使用environment.find,我似乎无法理解它。

2 个答案:

答案 0 :(得分:1)

我相信你正在寻找这个:

Environment.SpecialFolder.Desktop
  

逻辑桌面而不是物理文件系统位置。

结合Environment.GetFolderPath返回:

  

指定系统特殊文件夹的路径

所以你应该像这样使用它:

string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
Process.Start(Path.Combine(desktop, "She's here", "She's here..lnk"));

答案 1 :(得分:1)

您可以使用Environment.SpecialFolderNames

var userFolder = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
var filePath = Path.Combine(userFolder, @"She's here\She's here..lnk");
  

Environment.SpecialFolder.DesktopDirectory:
  用于在桌面上物理存储文件对象的目录。