ペアリングされたBluetoothデバイスを接続または切断する方法は、Powershellまたはその他のツールを介してありますか?基本的に、Bluetoothなどのデバイスの[接続/切断]ボタンを押します。ただし、コマンドライン(Powershell、コマンドラインツールを使用したbat、C#、C++のコードなど)は除きます。
これが見つかりました answer ですが、ペアリングを解除してペアリングする必要があります。新しいペアリングを受け入れるには、ヘッドフォンをペアリングモードにする必要があるため、機能しません。 AutoItやそのような他のソフトウェアを介してキープレスやマウスクリックをシミュレートしたくない。
私は Win32 Bluetooth APIのBluetoothSetServiceState
を使用してC++コードを記述しましたが、実際には Bluetoothコマンドラインツール を使用するだけで十分です。
結局のところ、デバイスによって使用されているすべてのサービスが無効になると、デバイスはWindowsによって自動的に解放され、切断されます。私の場合、これらはスクリーンショットのように音声と音楽であり、ほとんどのヘッドフォンは同じように機能します。
音声は実際にはハンズフリーサービス(HFP)であり、音楽は単なるオーディオシンク(A2DP)です。サービスIDは必要であり、上記のパッケージのbtdiscovery
コマンドを使用するか、または Bluetoothサービスのリスト を使用して検出できます。 HFP音声は111e
、A2DP音楽は110b
です。
btcom
コマンドラインヘルプごと:
使用法:
btcom {-c|-r} {-bBluetoothAddress | -nFriendlyName} [-s{sp|dun|GUID|UUID}] -c Create association between COM port and a remote service (Enable non-COM service). -r Remove association between COM port and a remote service (Disable non-COM service). -s Remote service to use (Default is Serial Port Service) -b Bluetooth address of remote device in (XX:XX:XX:XX:XX:XX) format. -n Friendly name of remote device.
デバイスを切断するには、次のコマンドを発行します(私の場合、管理者として実行し、Windows 10 1809(17763.437)を使用している場合にのみ機能します)。
"C:\Program Files (x86)\Bluetooth Command Line Tools\bin\btcom" -n "WH-1000XM3" -r -s111e
"C:\Program Files (x86)\Bluetooth Command Line Tools\bin\btcom" -n "WH-1000XM3" -r -s110b
再度接続するには、-c
ではなく-r
を使用して同じものを発行します。これは、Windowsによって接続されているすべてのサービス/プロファイルが無効/有効になっている限り、ヘッドフォンだけでなく他のデバイスでも機能します。
注:Bluetooth検出を実行するため、-n <friendly name>
の使用は-b <address>
の使用よりもかなり遅くなります。
多分 Get-PnPDevice
、Disable-PnPDevice
およびEnable-PnPDevice
はあなたのためにトリックを行います。私はそれをテストすることができませんでした。
例:
$DeviceName = "YourDevice"
$BTDevice = Get-PnpDevice | Where-Object {$_.FriendlyName -eq $DeviceName -and $_.class -eq "Bluetooth"}
Disable-PnpDevice -InstanceId $BTDevice.DeviceID -Confirm:$false
Enable-PnpDevice -InstanceId $BTDevice.DeviceID -Confirm:$false
変更 $DeviceName
変数をBTデバイスの名前に変更します。
OP応答に基づいて編集されました。
基本となるクラスを見ると、その項目はプログラムによるアクセスには公開されていません。
クローズ/切断はいつ実装されますか? [Windows.Devices.Bluetooth.BluetoothDevice]
クローズ/切断はいつ実装されますか?切断する予定はありますか? Dispose()は接続を閉じません
849 2019年1月9日にオープン
別の言い方をする別のAPIドキュメントはないようです。したがって、少なくとも今のところ、SendKeysやAutoITなどに悩まされているようです。