2017-08-16 10 views
1

シンプルなC#.NETフレームワークコンソールアプリケーションを作成しました。C#.NETフレームワークでBluetoothデバイスのリストを取得する

現在、コンピュータに接続されているペアリングされたBluetoothデバイスのリストを取得しようとしています。しかし、コード内からブルートゥースサービスにアクセスする方法を知ることはできません。

私はインターネットを見渡しましたが、普遍的なWindowsプロジェクト(UWP)でこれを行う方法がありました。ここでは、私が必要とするものすべてが含まれているusing Windows.Devices.Bluetooth名前空間を単純に使うことができます。フレームワークコンソールアプリケーションでは、この名前空間は使用できません。

私はブルートゥースで作業するための高度な方法は必要ありません。必要なのは、現在接続されペアリングされているBluetoothデバイスのリストだけです。

答えて

2

は、コードの下に使用してみてください:

  BluetoothClient client = new BluetoothClient(); 
      List<string> items = new List<string>(); 
      BluetoothDeviceInfo[] devices = client.DiscoverDevicesInRange(); 
      foreach (BluetoothDeviceInfo d in devices) 
      { 
       items.Add(d.DeviceName); 
      } 

あなたはパッケージマネージャコンソールを使用して32feet.NETをインストールすることにより、BluetoothClientの参照を取得します。

PM> Install-Package 32feet.NET -Version 3.5.0 

インストール後には、参考にInTheHand.Net.Personal DLLを取得 、その後InTheHand.Net.Socketsを使用して、名前空間を追加します。あなたのコード

今、あなたはBluetoothClient

にアクセスすることができますが、この情報がお役に立てば幸い!

+0

これは素晴らしいです、ありがとうございます。これらのデバイスが範囲内にあるかどうかを検出する方法を含めるように答えを広げてください。たとえば、ペアになっているBTデバイスのリストを見て、実際に物理的に存在していてオンになっているかどうかを確認したいとします。 (DiscoverDevicesInRangeには、検出モードはオンになっていますが、検出モードはオフになっていますが、ペアになっているためにアクセス可能なペアデバイスは表示されません) – Askerman

+0

client.DiscoverDevicesInRange();また、あなたの問題を解決する可能性のあるDiscoverDevicesの様々なオーバーロードされたバージョンがあります。 – jANVI

+1

私は実際にこれらのすべてを試しましたが、問題が解決されても常にペアリングされたデバイスが返されます(デバイス情報デバイスリスト内のすべてのアイテムには含まれますが、デバイスが範囲内にあり、ブルートゥースがオンになっていても常にfalseを返します) – Askerman

関連する問題