PDA

View Full Version : تشخیص خودکار شماره پورت های COM متصل به یک USB-HUB



follower
چهارشنبه 11 بهمن 1396, 21:09 عصر
سلام به همگی.

من یک هاب USB دارم که چند تا پورت سریال رو به ورودی های این هاب متصل کرده و خروجیش رو به یکی از پورت های USB سیستمم متصل کردم. هدفم اینه که به طور خودکار بتونم شماره پورت های Com متصل شده رو به دست بیارم. این کدیه که برای این کار نوشتم:

ManagementObjectSearcher searcher = new ManagementObjectSearcher(
"root\\CIMV2",
"SELECT * FROM Win32_PnPEntity WHERE ClassGuid="{4d36e978-e325-11ce-bfc1-08002be10318}""
);
foreach (ManagementObject item in searcher.Get())
{

if (item["Description"].ToString().Contains("CH340"))
{
if (item["Caption"].ToString().Contains("(COM"))
{
listBox1.Items.Add (caption.Substring(caption.LastIndexOf("(COM")).Replace("(", string.Empty).Replace(")", string.Empty));

این کد وقتی که نوع و اسم پورت های متصل شده به هاب متفاوت باشه درست عمل می کنه (کد بالا برای دستگاهی با نام serial-port CH340 کار می کنه) ولی وقتی اسم پورت ها متفاوت باشه نمی شه تشخیص داد کدوم دستگاه به کدوم پورت متصل شده. منظورم از اسم پورت همون چیزی هست که در Device Manager قابل مشاهده است. کسی ایده ای برای انجام این کار داره ؟

با تشکر.