日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在 DotNetCore 3.0 程序中使用通用协议方式启动文件关联应用

發布時間:2023/12/4 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在 DotNetCore 3.0 程序中使用通用协议方式启动文件关联应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述

在傳統的基于 .NET Framework 的 WPF 程序中,我們可以使用如下代碼段啟動相關的默認應用:

Copy

# 啟動默認文本編輯器打開 helloworld.txt
Process.Start("helloworld.txt");

# 啟動默認瀏覽器打開 https:
Process.Start("https://hippiezhou.fun/");

但是上述協議方式在 .NET Core 中不再適用,當我們使用上述方式進行操作,程序會給我們爆如下的錯誤:

經?神樹桜乃?大佬提醒,我特意看了一下?ProcessStartInfo 的說明,如下圖所示:

所以,這樣一來我們就有兩種方式來啟動文件的關聯應用了。

解決方法

方法一

手動創建?ProcessStartInfo?對象,并設置?UseShellExecute=True,示例代碼如下所示:

Copy

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.FileName = "https://hippiezhou.fun";
Process.Start(startInfo);

方法二

使用 UWP平臺下的 中的?Launcher 來啟動管理應用。

注:使用如下方法的前提是需要我們的機器上安裝 Windows 10 任一版本的 SDK,否則無法正常使用。

做過 UWP 開發的朋友應該對?Launcher 族下的 API 有所了解,這個下面的相關方法能夠啟動系統默認應用。我們想在 .NET Core 3.0 WPF 使用這個族的 API 需要進行一些配置才可以。

首先,我們需要修改我們的?.csproj 文件,使項目能夠使用上述的 API,修改如下所示:

Copy

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>

<!--新增節點-->
<ItemGroup>
<PackageReference Include="System.Runtime.WindowsRuntime" Version="4.3.0" />
</ItemGroup>

<!--新增節點-->
<ItemGroup>
<Reference Include="Windows">
<HintPath>$(MSBuildProgramFiles32)\Windows Kits\10\UnionMetadata\10.0.17763.0\Windows.winmd</HintPath>
<IsWinMDFile>true</IsWinMDFile>
<Private>false</Private>
</Reference>
</ItemGroup>

</Project>

然后,重新加載我們的項目,這個時候就可以使用?Launcher 了。比如,我們可以使用如下方式調用默認瀏覽器打開目標網址:

Copy

await Launcher.LaunchUriAsync(new Uri("https://hippiezhou.fun/"));

相關參考

  • C#/.NET 中啟動進程時所使用的 UseShellExecute 設置為 true 和 false 分別代表什么意思?

  • Windows.System.Launcher

  • How to launch another app using protocol on .NET Core 3.0 WPF app

原文地址:https://www.cnblogs.com/hippieZhou/p/10683191.html

.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結

以上是生活随笔為你收集整理的在 DotNetCore 3.0 程序中使用通用协议方式启动文件关联应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。