C# 有没有其他方法可以在没有特定位置的情况下打开文件?
因此,这个应用程序将是一个.EXE文件,并在其他办公室计算机中使用。但有一个问题。如果我打开一个文件,那台特定的计算机将有另一个路径,这样我的代码就无法工作。有没有办法只指定文件夹?我的意思是,比如C# 有没有其他方法可以在没有特定位置的情况下打开文件?,c#,wpf,C#,Wpf,因此,这个应用程序将是一个.EXE文件,并在其他办公室计算机中使用。但有一个问题。如果我打开一个文件,那台特定的计算机将有另一个路径,这样我的代码就无法工作。有没有办法只指定文件夹?我的意思是,比如C:/ApplicationFolder/Hejj.pdf 我希望你能理解我的问题 private void Button_Click_8(object sender, RoutedEventArgs e) { Process.Start(@"C:\Users\Danie\Deskto
C:/ApplicationFolder/Hejj.pdf
我希望你能理解我的问题
private void Button_Click_8(object sender, RoutedEventArgs e)
{
Process.Start(@"C:\Users\Danie\Desktop\Hejj.pdf");
}
它应该与.exe文件位于同一文件夹中
放置
您可以使用Assembly.getExecutionGassembly().Location
获取当前exe的路径
Path.Combine(Assembly.GetExecutingAssembly().Location,“Hejj.pdf”)
将为您提供pdf文件的完整路径
private void Button_Click_8(object sender, RoutedEventArgs e)
{
string path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory);
Process.Start(System.IO.Path.Combine(path, Hejj.pdf));
}
获取桌面目录的路径
GetFolderPath返回该位置的路径。在不同的操作系统上,这些文件夹的位置可以具有不同的值。有关所有可用的目录常量,请参见。一个
AppData
或Users
文件夹位置正是出于此目的。您可以使用文件打开对话框提示用户输入路径吗?@puropoix您能更具体地说明解决方案吗?@DougDawson这很好,但我需要它来打开一个特定的文件按钮被按下,而不是让用户去搜索文件manually@DanielSaggo作为一个人,您是否可以在其他ppl的PC上定位文件而不询问他们,或者是否可以物理访问机器?或者你至少知道它可能在哪几个地方吗?如果不是,那么这不是doable@DanielSaggo复制粘贴我的代码以替换硬编码的pdf路径,您就完成了{Process.Start(path.Combine(Assembly.GetExecutingAssembly().Location,“Hejj.pdf”);像这样或像这样的路径。Combine(Assembly.GetExecutingAssembly().Location,“Hejj.pdf”)@DanielSaggo您将了解它是如何工作的。Path.Combine将为您提供一条路径。如果您想启动一个程序,那么您可以执行Process.start({program Path})。