1

WindowsモバイルアプリからBluetoothプリンターで印刷したいのですが、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();

正しくない方法です。使用可能なBluetoothプリンターを検索して接続します。それ以外の場合は、適切なエラーメッセージ[「Bluetoothデバイスが見つかりません/選択したデバイスはプリンターではありません」]を表示します。これを見つけるのを手伝ってください、誰でも私にこれをするように指示できますか?

4

2 に答える 2

0

デバイスの各ポート番号を通過できるコードを記述し、さまざまな設定をすべてテストして、ポートが存在するかどうかを確認する必要があります。それでも、ポートが Bluetooth プリンターであることを保証する良い方法を知りません。

Microsoft がユーザーが設定を指定するためのフォームを表示することに気付いたことがありますか?

ここに画像の説明を入力

簡単に言うと、ユーザーにカスタム ダイアログ ボックスを提示する方が簡単かもしれません。

于 2011-10-27T14:14:23.267 に答える
0

Bluetooth 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 = ... 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");
}

一般的な Bluetooth データ接続

于 2011-10-28T20:45:44.640 に答える