【问题标题】:Process.Start - Directory - Instead of %userprofile%Process.Start - 目录 - 而不是 %userprofile%
【发布时间】:2017-12-24 20:27:39
【问题描述】:

大家好,

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

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

到目前为止我所拥有的......

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

这适用于我的电脑,但我需要它在所有情况下都能正常工作。

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

【问题讨论】:

标签: c# wpf path


【解决方案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"));

【讨论】:

  • 非常感谢!我真的很困惑如何做到这一点,而且效果很好。
【解决方案2】:

您可以使用Environment.SpecialFolderNames

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

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

【讨论】:

  • 感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2010-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-30
相关资源
最近更新 更多