【问题标题】:Starting the Bluetooth controller on Windows CE programmatically以编程方式在 Windows CE 上启动蓝牙控制器
【发布时间】:2014-07-01 02:48:28
【问题描述】:

我正在为运行 Windows CE 6.0 的移动数据终端开发 C# 项目。我正在使用 32feet.NET 连接到蓝牙设备。 MDT 内置了蓝牙,并且安装了微软的蓝牙驱动堆栈,但我相信它不会自动加载。

每次我重置 MDT 后,当我从控制面板运行 Bluetooth Device Properties 并点击 Scan Device 我收到一条错误消息,声称“蓝牙硬件错误 10050(控制器不存在)”。

现在,MDT 上安装了另一个第三方应用程序。该程序似乎能够启动该控制器。如果我只是打开该程序并在加载完成后立即关闭它,蓝牙会再次工作 - 控制面板中的设备管理器可以扫描并找到蓝牙设备,我的程序可以使用 BluetoothClient.DiscoverDevices 找到它们。

现在,我不想在每次重置后运行我的项目时都手动启动该程序。我想从我自己的程序中启动蓝牙控制器。有没有办法通过 32feet.NET 或其他一些底层 API 来实现?

【问题讨论】:

    标签: c# bluetooth windows-ce 32feet


    【解决方案1】:

    试试

    var r = BluetoothRadio.PrimaryRadio;
    if (r == null) { blahhhhh....; return; }
    r.Mode = RadioMode.Connectable;
    

    我不记得这是否有效——我的记忆力只有在 WM+MSFT 上的一半。

    稍后:很遗憾听到它无法在您的设备上运行。我在 WM/CE 方面做得不多,因此无法提供更多帮助。

    【讨论】:

    • 我试过了,“设置蓝牙无线模式时出错”,本机错误代码为1062。我google了一下,发现this issue,这表明其他程序正在垄断蓝牙初始化,只要它安装了其他程序无法启动蓝牙。卸载它对我来说不是一个选项,所以我想我又一次被 M$ 蹩脚的架构搞砸了……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    • 2016-07-19
    相关资源
    最近更新 更多