当另一个应用程序需要访问蓝牙连接时,抑制BTExplorer(Bluetopia)

时间:2011-09-08 12:31:42

标签: c# bluetooth

我正在为Motorola MC55设备开发一个C#设备应用程序( Bluetopia )。此应用程序设置蓝牙查询和配对程序(通过企业移动开发工具包)并写下虚拟串口#:

public void DoConnection(IRemoteBTDevice rd)
{
    RemoteDevice remoteDevice = new RemoteDevice(rd.DeviceName, rd.Id.Replace(":", ""), "");

    this.bluetooth.RemoteDevices.Add(remoteDevice);
    this.bluetooth.RemoteDevices.Refresh();

    if (!remoteDevice.IsPaired)
    {
        remoteDevice.Pair(rd.Pin);
    }

    //TODO Note serial port # (get it by means of remoteDevice.LocalComPort) 

    //Works smoothly, but a second process has to do this (requirement).
    remoteDevice.OpenPort();
}

但是只要第二个进程(例如另一个c#设备应用程序)打开该串口,就会启动BTExplorer。我该如何抑制这种现象?

this.comX = new SerialPort(this.BluetoothPortName);
this.comX.Open();

我正在使用另一个大会:http://32feet.codeplex.com/。它适用于摩托罗拉ES400(Microsoft Stack)。看到这个:http://32feet.codeplex.com/wikipage?title=Stonestreet%20One%20Bluetopia后,我使用了相同的代码,但它对MC55来说无法解决问题。

感谢您的支持, Roger Huber

1 个答案:

答案 0 :(得分:0)

据我了解,BTExplorer.exe实际上提供/控制虚拟COM端口服务,所以当正在使用虚拟COM端口时它需要运行...

在使用我的32feet.NET Bluetopia支持时,请务必了解您在MC55上看到的问题。正如我在32feet.NET: Stonestreet One Bluetopia所指出的那样,我在M3 Mobile设备上进行了测试,该设备具有最新版本的Bluetopia堆栈。也许StoneStreetOne在你的版本之间改变了一些东西......(如果Bluetopia启动完全失败,那么我会更多地登录version 3.3 - 我离发布的距离太远了。)

当然,如果第二个C#程序需要使用虚拟COM端口,那么32feet.NET将无济于事 - 如上所述仍然需要BTExplorer。但是,如果您可以将该程序更改为使用BluetoothClient等而不是COM端口...(当然记住“一次一个Bluetopia”限制当然)。

艾伦