winform、wpf蓝牙扫描的三种方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform、wpf蓝牙扫描的三种方式相关的知识,希望对你有一定的参考价值。

参考技术A 本文介绍如何在winform、wpf中实现经典蓝牙扫描(同步方式和异步方式),以及实现基于win10的ble扫描。

接下来是一波废话:

由于公司业务需求,需要在windows桌面软件中实现蓝牙设备搜索功能。

一番摆渡后发现基本上用的都是 Inthehand 的,这个库只能搜索到bt3经典蓝牙,可以实现同步搜索和异步搜索。要想实现ble搜索需要基于win10 SDK进行开发,微软官方 demo 是基于uwp的,那么可以实现在winform/wpf中使用吗?经过一番操作,实现了在wpf中调动win10 SDK进行ble搜索,但是必须要在win10环境下运行。

所谓同步搜索就是固定扫描一段时间(大概10s钟的样子),然后返回扫描到的所有蓝牙设备。

1,添加依赖

2,撸码

3,效果

缺点比较明显,需要等几秒钟才展示结果。

异步搜索和同步搜索使用的是相同的库。

1,撸码

2,效果

可以看出每扫描到一个设备就展示出来,速度非常快。

ble扫描可以扫描到ble设备,可以添加过滤条件,只搜索特定的设备,并且可以获取其信号强度。微软官方 demo 是基于uwp的,迁移到 wpf下,还是有点麻烦的。主要过程如下:

1,准备

需要你在win10环境下,并且vs安装了win10 SDK。

2,添加win10 SDK依赖

在你的wpf项目中添加如下引用

如果你的项目中默认没有添加 WindowsBase 的话也要手动引入。

这三个依赖的参考位置如下:

3,撸码

4,效果

以上是关于winform、wpf蓝牙扫描的三种方式的主要内容,如果未能解决你的问题,请参考以下文章

C#-WinForm-打开其他窗体的三种方式-Show()设置Owner()ShowDialog()

WPF自定义控件的三种方式

Winform中通过NPOI导出Excel的三种方式(HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook)附代码下载

Winform中通过NPOI导出Excel的三种方式(HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook)附代码下载

通过C# WinForm控件创建的WPF WIndow窗口控件无法输入的问题

WPF路由事件二:路由事件的三种策略