Olá a todos,

Ajustando um software que criei, achei essa função e achei interessante disponibiliza-la aos usuários do blog.


Fazer o download: [C#] Listando portas seriais com filtro (Bluetooth, USB-Serial, COM Virtual)


Segue o código:

[sections] [section title=”Preview”]
Lista de Portas Seriais
Lista de Portas Seriais
[/section] [section title=”Código Fonte”]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Input;
using Microsoft.Win32;

namespace PortaSerialFiltro
{
///
/// Interação lógica para MainWindow.xam
///
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
}
private IEnumerable ListarPortaCom(string filtro = "")
{
var strPortName1 = new List();

//Open the correct subkey where I can find the serialports and their values
RegistryKey myKey = Registry.LocalMachine.OpenSubKey("HARDWAREDEVICEMAPSERIALCOMM", false);
if (myKey != null)
{
string[] valueNames = myKey.GetValueNames();
string[] filtros = filtro.Split(new[] {‘|’}, StringSplitOptions.RemoveEmptyEntries);
foreach (var s in filtros)
{

//Store the value names of the keys in a string array//Go through every string in the string array
strPortName1.AddRange(from w in valueNames
where w.Contains("Device" + s)
select ((string) myKey.GetValue(w)) + ":" + w);
}
}
return strPortName1.ToArray();
}

private void ButtonClick(object sender, RoutedEventArgs e)
{
var bkpCursor = Cursor;
lsvDados.Items.Clear();
Cursor = Cursors.Wait;
foreach (string x in ListarPortaCom(txtFiltro.Text))
{
lsvDados.Items.Add(x);
}
Cursor = bkpCursor;
}
}
}

[/section] [/sections]
Obrigado e até o próximo post.

DATEK Tecnologia Eletrônica
[C#] Listando portas seriais com filtro (Bluetooth, USB-Serial, COM Virtual)
Tags:                     

Deixe uma resposta

%d blogueiros gostam disto: