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

问题描述 投票:0回答:2

我想通过蓝牙打印机从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();

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

c# windows-mobile bluetooth zebra-printers
2个回答
0
投票

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

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

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


0
投票

使用蓝牙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;

Discovery

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

BluetoothAddress addr = ... e.g. 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");
}

General Bluetooth Data Connections

© www.soinside.com 2019 - 2024. All rights reserved.