以编程方式获取传入/传出COM蓝牙端口。如何在C#中的Windows Mobile 6 App中执行此操作?

我想通过蓝牙打印机从Windows移动应用程序打印。我正在做的是硬编码COM端口如下…

SerialPort comPort1 = new SerialPort("COM5", 57600, Parity.None, 8, StopBits.One); comPort1.Open(); //Some thing to pint //comPort1.WriteLine("PRINT"); System.Threading.Thread.Sleep(500); comPort1.Close(); 

它不是正确的方式,我想搜索应用程序可用的蓝牙打印机并与之连接。另外显示正确的错误消息[“找不到蓝牙设备/所选设备不是打印机”]。 请帮我发现这个,任何人都可以指导我这样做吗?

您必须编写一些可以遍历设备上每个端口号的代码,测试所有各种设置以查看端口是否存在。 即使这样,我也不知道保证端口是蓝牙打印机的好方法。

您是否注意到Microsoft显示用户指定设置的表单?

在此处输入图像描述

只是说,您可能会发现使用自定义对话框向您的人员展示更容易。

使用蓝牙API可能更符合您的要求。

例如,参见我的库32feet.NET。 很多人用它来打印。 你可以发现这样的设备:

 var cli = new BluetoothClient(); BluetoothDeviceInfo[] devList = cli.DiscoverDevices(); BluetoothDeviceInfo[] selected = null; foreach (var cur in devList) { ... chose one and set 'selected' } return selected; 

发现

您可以连接到以下打印机:

 BluetoothAddress addr = ... eg selected.DeviceAddress; var cli = new BluetoothClient(); cli.Connect(addr, BluetoothService.SerialPort); using(var peer = cli.GetStream()) using(var wtr = new StreamWriter(peer)) { wtr.WriteLine("Hello world"); } 

一般蓝牙数据连接