//获取下位机信息
class TSSerialPort
{
/// <summary>
/// 串口号
/// </summary>
public string Name { get; protected set; }
/// <summary>
/// 描述
/// </summary>
public string Des { get; protected set; }
/// <summary>
/// 制造商
/// </summary>
public string Manu { get; protected set; }
/// <summary>
/// 波特率(需手动设置)
/// </summary>
/// <summary>
/// 获取串口们
/// </summary>
/// <returns>天书串口类型</returns>
public static List<TSSerialPort> GetPorts()
{
List<TSSerialPort> back = new List<TSSerialPort>();
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity"))
{
var hardInfos = searcher.Get();
foreach (var hardInfo in hardInfos)
{
if ((hardInfo.Properties["Name"].Value != null) &&
(hardInfo.Properties["Name"].Value.ToString().Contains("COM")))
{
TSSerialPort temp = new TSSerialPort();
string s = hardInfo.Properties["Name"].Value.ToString();
int p = s.IndexOf('(');
temp.Des = s.Substring(0, p);
temp.Name = s.Substring(p + 1, s.Length - p - 2);
temp.Manu = hardInfo.Properties["Manufacturer"].Value.ToString();
back.Add(temp);
}
}
searcher.Dispose();
}
return back;
}
}
class TSSerialPort
{
/// <summary>
/// 串口号
/// </summary>
public string Name { get; protected set; }
/// <summary>
/// 描述
/// </summary>
public string Des { get; protected set; }
/// <summary>
/// 制造商
/// </summary>
public string Manu { get; protected set; }
/// <summary>
/// 波特率(需手动设置)
/// </summary>
/// <summary>
/// 获取串口们
/// </summary>
/// <returns>天书串口类型</returns>
public static List<TSSerialPort> GetPorts()
{
List<TSSerialPort> back = new List<TSSerialPort>();
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity"))
{
var hardInfos = searcher.Get();
foreach (var hardInfo in hardInfos)
{
if ((hardInfo.Properties["Name"].Value != null) &&
(hardInfo.Properties["Name"].Value.ToString().Contains("COM")))
{
TSSerialPort temp = new TSSerialPort();
string s = hardInfo.Properties["Name"].Value.ToString();
int p = s.IndexOf('(');
temp.Des = s.Substring(0, p);
temp.Name = s.Substring(p + 1, s.Length - p - 2);
temp.Manu = hardInfo.Properties["Manufacturer"].Value.ToString();
back.Add(temp);
}
}
searcher.Dispose();
}
return back;
}
}