如何在其他计算机上运行此代码(相对路径c#wpf)
如何在其他计算机上运行此功能?我已经尝试了使用相对路径c#wpf的所有方法,并检查了stackoverflow上的其他帖子,但没有任何运气,它仍然找不到该文件 对不起,英语不好如何在其他计算机上运行此代码(相对路径c#wpf),c#,wpf,path,C#,Wpf,Path,如何在其他计算机上运行此功能?我已经尝试了使用相对路径c#wpf的所有方法,并检查了stackoverflow上的其他帖子,但没有任何运气,它仍然找不到该文件 对不起,英语不好 using System.Diagnostics private void btnDiscord_Click(object sender, RoutedEventArgs e) { try { Process p = new Process();
using System.Diagnostics
private void btnDiscord_Click(object sender, RoutedEventArgs e)
{
try
{
Process p = new Process();
p.StartInfo = new ProcessStartInfo("C:\\Users\\morten\\AppData\\Local\\Discord\\app-
0.0.306\\Discord.exe");
p.Start();
}
catch
{
MessageBox.Show("Discord Not Found");
}
}
Appdata\Local在Windows系统中被引用为%localappdata% Appdata\Roaming被引用为%Appdata% 那你必须做什么
using System.Diagnostics
private void btnDiscord_Click(object sender, RoutedEventArgs e)
{
try
{
Process p = new Process();
var path= Environment.ExpandEnvironmentVariables("%localappdata%\\Discord\\app-
0.0.306\\Discord.exe");
p.StartInfo = new ProcessStartInfo(path); //work with folders in this way is baaad
p.Start();
}
catch
{
MessageBox.Show("Discord Not Found");
}
}
我将通过以下方式找到discord应用程序:
- 我获取了Discord localappdata文件夹(%localappdata%\Discord)
- 我开始在“Discord.exe”文件的子文件夹中查找,并在找到时中断循环
- 包含“app”且按字母顺序更大的子文件夹名称
public string FindDiscordFile() { var subfolders = Directory.GetDirectories(Environment.ExpandEnvironmentVariables("%localappdata%\\Discord")); var subfolder = subfolders.Where(folder=> folder.StartsWith("app")).Max(folder=> folder); return subfolder+"\\Discord.exe"; }
GetDirectories
等方法中直接使用环境变量。你需要将它与环境相结合。ExpandEnvironmentVariables
@John true,我的错,写得快,不思考,谢谢不用担心!我一直在做:)