Per ottenere tutti i serial serial disponibili dal sistema, utilizzare il seguente comando.Ottenere nomi di porta seriale errati da bluetoothdevice (C#)
SerialPort.GetPortNames
Funziona correttamente per la porta seriale della scheda madre, ma con il dispositivo bluetooth ho i nomi di porta errati.
Ad esempio: Invece di COM7 ottengo talvolta COM70 o COM7ö. È sempre 1 lettera a molto.
eventuali suggerimenti?
PS: sto utilizzando il più recente Visual Studio Express in Windows 7 PPS: lo scribacchino per tagliare l'ultima lettera non ha funzionato perché non so quale sia la porta seriale bluetooth (con vari bluetoothstick o dispositivi cambia il numero del comportamento) e dopo aver provato vari stick ho raggiunto COM10, ergo COM100 o COM10f
EDIT: il codice che sto usando adesso. leggendo la regestry, ma ancora lo stesso problema.
RegistryKey myRegistry = Registry.LocalMachine.OpenSubKey("Hardware\\DeviceMap\\SerialComm");
foreach (string valuename in myRegistry.GetValueNames())
{
if (myRegistry.GetValue(valuename) is String)
{
if (valuename.Contains("BthModem"))
{
richTextBox1.AppendText(">" + myRegistry.GetValue(valuename) + "<" + Environment.NewLine);
}
}
}
Normalmente la seconda o terza richiesta sta lavorando con un risultato come
COM11ᯋ < COM10S < COM11 < COM10 < COM11 < COM10 <
h come può essere?
non ha funzionato nel mio ambiente. System.Managment non è stato trovato. Forse non fa parte della Express Edition ?? – wurlog