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();

 

posted @ 2020-05-26 16:47  唐宋元明清2188  阅读(230)  评论(0编辑  收藏