取りあえずパスキー無しの Bluetooth デバイスをプログラムで
ペアリング&追加/接続する方法がわかりました。
WiiリモコンやバランスWiiボードは電源を入れるたびに毎回 sync
しなければなりませんが、これでいちいち
「Bluetooth デバイスの追加ウィザード」を使わなくてよくなります。
(1) 新規デバイスの列挙
BluetoothFindFirstDevice()
BluetoothFindNextDevice()
BluetoothFindDeviceClose()
(2) 対応デバイスかどうか名前で判別
BLUETOOTH_DEVICE_INFO の szName を参照。
例えば Wiiコントローラなら
”Nintendo RVL-CNT-01″ (Wiiリモコン)
”Nintendo RVL-WBC-01″ (バランスWiiボード)
(3) 接続済みかどうか判定
BLUETOOTH_DEVICE_INFO の fConnected が 0 以外ならすでに
接続中なので無視。
(4) サービスの追加
#include// GUID の定義 BluetoothSetServiceState( hradio, &devinfo, &HumanInterfaceDeviceServiceClass_UUID, BLUETOOTH_SERVICE_ENABLE );
ただし既に一度追加したことがあり、サービスが Enable のままの
デバイスは (4) に失敗します。
BluetoothRemoveDevice() を使って (4) の直前に登録情報を削除して
おくと確実に接続できるようです。
Wiiリモコン・バランスWiiボード 側は、(1) の新規デバイスの検索中
に赤い sync ボタンを押しておきます。
関連リンク
・Windows Bluetooth API
・バランスWiiボード をPCで使う wiibalancepc v0.07