【问题标题】:Opening a Link/File through button click event通过按钮单击事件打开链接/文件
【发布时间】:2019-04-20 23:31:00
【问题描述】:

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

为了打开我尝试过的链接 - WebBrowserTask 这是一个无法识别的事件/任务

用于运行应用程序 - Process.Start("thelocation/thefile.exe/rdp")。之后,我尝试将其引导到正确的路径,但我的项目无法识别其中的文件夹和文件。

两次尝试都不成功。

【问题讨论】:

    标签: c# wpf xaml wpf-controls


    【解决方案1】:

    试试这个:

    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- 有效 - @"C:\Users\slaky\Desktop\Project\tools\loadFB.rdp" 2- 无效 - $@"{ AppDomain.CurrentDomain.BaseDirectory}tools\loadFB.rdp" 是否有什么我做的不对,或者我缺少什么?
    • 嘿电子,请帮助我:D
    • 确保您的目标文件路径正确且存在。并使用适用于所有 Windows 操作系统的 AppData 文件夹 (Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);) 而不是“C:\Users\slaky\Desktop\Project\tools”。
    猜你喜欢
    • 1970-01-01
    • 2023-04-04
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多