C# 通过按钮单击事件打开链接/文件

C# 通过按钮单击事件打开链接/文件,c#,wpf,xaml,wpf-controls,C#,Wpf,Xaml,Wpf Controls,我对WPF/XAML编码还是新手,在学习的过程中遇到了另一个问题。我决定在UserControl上添加按钮,我想让它们做一些不同的事情。在其中一个按钮上,我想打开本地默认浏览器并打开一个网页链接,在另一个按钮中,我想从项目中名为“tools”的目录启动一个本地exe/rpm文件 用于打开我尝试的链接-WebBrowserTask,它是一个无法识别的事件/任务 用于运行应用程序-进程.Start(“位置/thefile.exe/rdp”)。在那之后,我尝试引导它到正确的路径,但我的项目无法识别其中

我对WPF/XAML编码还是新手,在学习的过程中遇到了另一个问题。我决定在UserControl上添加按钮,我想让它们做一些不同的事情。在其中一个按钮上,我想打开本地默认浏览器并打开一个网页链接,在另一个按钮中,我想从项目中名为“tools”的目录启动一个本地exe/rpm文件

用于打开我尝试的链接-WebBrowserTask,它是一个无法识别的事件/任务

用于运行应用程序-
进程.Start(“位置/thefile.exe/rdp”)
。在那之后,我尝试引导它到正确的路径,但我的项目无法识别其中的文件夹和文件

两次尝试均未成功。

请尝试以下操作:

public void DoSomething 
{
    const string webpageUrl = "https://stackoverflow.com/questions/55778625/";
    const string localFile = @"C:\Windows\notepad.exe";
    var localTools = $@"{AppDomain.CurrentDomain.BaseDirectory}Tools\SomeTools.exe";

    Process.Start(webpageUrl);
    Process.Start(localFile);
    Process.Start(localTools);
}

要打开网页,您的地址必须以开头http://...

Hi-Electron-网页:工作正常-使用'var localTools=$@“{AppDomain.CurrentDomain.BaseDirectory}Tools\SomeTools.exe”启动第三方exe/rdp文件;Process.Start(localTools);'单击按钮时会出现以下崩溃-“异常未处理-System.ComponentModel.Win32Exception:'系统找不到指定的文件'”。使用直接链接启动它的另一种方法工作正常,但即使我将应用程序从PC移动到笔记本电脑,我也希望这样做,通过从应用程序文件夹中自动定位文件夹来工作。由于目标文件不存在,因此引发此异常(我将其放在测试中)。在调用process.start方法之前,应该检查(使用File.Exists)文件路径。如果你的文件路径($@“{AppDomain.CurrentDomain.BaseDirectory}Tools\SomeTools.exe”;)正确,它将在所有计算机上正常工作。因此,我尝试调试该应用程序并得到以下结果:($@“{AppDomain.CurrentDomain.BaseDirectory}Tools\SomeTools.exe”;)在这里,它将引导我到bin/Debbug文件夹,从那里它找不到正常。这是一个可行的路径,我写的另一个代码也不可行:1-works-@“C:\Users\slaky\Desktop\Project\tools\loadFB.rdp”2-not-$@“{AppDomain.CurrentDomain.BaseDirectory}tools\loadFB.rdp”有什么我做得不好的地方,或者我缺少的地方吗,请帮助我:d确保目标文件路径正确且存在。并使用AppData文件夹(
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
)而不是在所有windows操作系统中工作的“
C:\Users\slaky\Desktop\Project\tools
”。