| |
C# EckeC# Bluetooth und virtuelle COM Ports | | | Autor: Woellmi | Datum: 24.01.19 17:41 |
| Hallo zusammen,
aktuell habe ich ein Gerät, welches über über eine serielle
Schnittstelle verfügt mit einem Bluetooth Adapter ausgestattet.
Das bisher verwendete Programm, welches die serielle Schnittstelle
nutzt, soll erstmal weiterhin genutzt werden. Dazu verwende ich das
Modul der Fa. Hantz "BT-BluSer1H".
Im Ergebnis funktioniert erstmal alles Prima.
Also BT Adapter konfiguriert, auf die RS232 meines Gerätes gesteckt,
auf dem PC den Adapter gesucht und verbunden. Nach erfolgter Verbindung
werden 4 virtuelle COM Ports angelegt (Bluetooth erweiterte Eigenschaften COM-Ports).
Einfach den korrekten Port auswählen (SPP) und los geht es. Toll!
Nun möchte ich aber, dass in meinem Programm nur der COM Port angezeigt wird, der auch
tatsächlich das SPP-Protokoll unterstützt, damit der Anwender nur die wirklich sinnvollen
Ports zur Auswahl hat. Und hier scheitere ich aktuell.
Im Gerätemanager werden unter Ports zwar alle Ports korrekt gelistet, aber man sieht nur:
'z.B.:
Standardmäßige Seriell über Bluetooth Verbindung (COM6)
Standardmäßige Seriell über Bluetooth Verbindung (COM7)
Standardmäßige Seriell über Bluetooth Verbindung (COM8)
Standardmäßige Seriell über Bluetooth Verbindung (COM9) Erst im Dialog "weitere Bluetooth Optionen => COM Anschlüsse"
wird zusätzlich z.B. COM7 Ausgehend Name 'SPP slave'
COM7 Ausgehend Name 'SPP slave' bei dem nutzbaren Port angezeigt.
Jetzt habe ich mir über den 'ManagementObjectSearcher' alle Eigenschaften
der verfügbaren COM-Ports anzeigen lassen, finde jedoch diese Erweiterung
'SPP slave' nirgends.
using (var searcher = new ManagementObjectSearcher
("root\\CIMV2", "SELECT * FROM Win32_PnPEntity"))
{
foreach (ManagementObject queryObj in searcher.Get())
{
try
{
if (queryObj["Caption"].ToString().Contains("(COM"))
{
Console.WriteLine("");
Console.WriteLine("Caption: {0}", queryObj["Caption"]);
Console.WriteLine("Description: {0}", queryObj["Description"]);
Console.WriteLine("DeviceID: {0}", queryObj["DeviceID"]);
Console.WriteLine( _
"--------------------------------------------------------");
foreach (PropertyData prop in queryObj.Properties)
{
Console.WriteLine(" => {0}: {1}", prop.Name, prop.Value);
}
}
}
catch { };
}
}
Console.WriteLine("");
Console.WriteLine("Press enter to exit");
Console.ReadLine(); Hat jemand eine Idee wie man an die gewünschte Info gelangt?
Dann könnte die Auswahl derart eingegrenzt werden, dass wirklich nur SPP-Ports bei Bluetooth
gelistet werden und man spart sich die ewige Klickerei.
Vielen Dank schon jetzt.
Tschaui
Woellmi | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevPopUp 2.0
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|