2020-05-26

C# 打开蓝牙设置界面

C# 打开蓝牙设置界面


蓝牙设置相关界面,以下是通过C#方式打开的几个方式,记录一下

蓝牙设置界面

1.控制面板命令bthprops.cpl

可以用控制面板 control+bthprops.cpl,也可以直接bthprops.cpl。更多的命令见:所有运行命令指令大全、CMD & CPL:快捷系统命令和控制面板命令

bthprops.cpl,可以打开蓝牙的连接设置界面

1  //打开蓝牙设置2  var process = new Process {StartInfo = {FileName = "control", Arguments = "bthprops.cpl"}};3  process.Start();

也可以通过C盘下的文件bthprops.cpl路径启动

C:\Windows\System32\bthprops.cpl

注:如果bthprops.cpl无法跳转至蓝牙设置界面,则可能是因为没有蓝牙模块。

如果判断有没有蓝牙网络呢?

可以查看网络适配器列表:

 1  /// <summary> 2  /// 是否含有蓝牙适配器 3  /// </summary> 4  /// <returns></returns> 5  public static bool HasBluetoothNetwork() 6  { 7   //获取本地计算机上网络接口的对象 8   NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); 9   return adapters.Any(i => i.Name.Contains("蓝牙"));10  }

2.win10设置url

控制面板是win7的概念。而Win10有一个新的设置协议,可以通过url快速访问相关设置/应用,几乎每个“设置”项都有其自己的url

  • 可以在win+R”运行“框中,输入ms-setting命令
  • 可以在命令行,输入ms-setting命令
  • 你也可以在资源管理器地址栏,输入ms-setting命令

上面这些路径(当然还有其它方式),都能打开相关设置界面。

通过C#代码打开蓝牙设置界面:

 1  Process process = new Process(); 2  process.StartInfo.FileName = "cmd.exe"; 3  process.StartInfo.CreateNoWindow = true;//不显示程序窗口 4  process.StartInfo.UseShellExecute = false;//是否使用操作系统shell启动 5  process.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息 6  process.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息 7  process.StartInfo.RedirectStandardError = true;//重定向标准错误输出 8  process.Start();//启动程序 9  process.StandardInput.WriteLine("start ms-settings:bluetooth &exit");10  process.StandardInput.AutoFlush = true;11  string strOuput = process.StandardOutput.ReadToEnd();12  process.WaitForExit();13  process.Close();

UWP中可以通过API-LaunchUriAsync,导航到蓝牙设置页面。

想了解更多LaunchUriAsync,可以访问水哥的博客:UWP 中的 LaunchUriAsync,使用默认浏览器或其他应用打开链接

1  var uri = new Uri(@"ms-settings:bluetooth");2  var success = await Windows.System.Launcher.LaunchUriAsync(uri);

蓝牙设备列表

通过资源管理器地址栏输入 shell:::{28803F59-3A75-4058-995F-4EE5503B023C},可以跳转到外部蓝牙设备列表

其中,28803F59-3A75-4058-995F-4EE5503B023C是注册表中的值

C#,可以通过Process来打开蓝牙设置界面:

1  //打开蓝牙搜索列表2  var process = new Process { StartInfo = { FileName = "Explorer", Arguments = "shell:::{28803F59-3A75-4058-995F-4EE5503B023C}" } };3  process.Start();

 


No comments:

Post a Comment