有个硬件是usb模拟串口的,所以安装了驱动以后是对串口编程的。
我现在用以下代码可以获得计算机上的实际串口号和usb信息,但是这个虚拟端口的信息或不到。
 SelectQuery sq = new SelectQuery("Win32_USBController");
 System.Console.WriteLine(moc.Count);
            foreach (ManagementObject mo in moc)
            {
                System.Console.WriteLine(mo.Path.ToString());
                System.Console.WriteLine("******************************************************************");
                foreach (PropertyData pd in mo.Properties)
                {
                    System.Console.WriteLine(pd.Name + ":" + pd.Value + "\n");//把结果放到打印出来里面
                }
                System.Console.WriteLine("******************************************************************");
            }
            moc.Dispose();
            mos.Dispose();
            sq = null;请问怎么可以得到这种类型的串口信息啊?

解决方案 »

  1.   

    先在设备管理器中查看有没有与之相对应的串口设备,查看设备的属性可以找到与之对应的串口号,如:COM1,COM2等。然后用.net 2.0的SerialPort类来操作这个串口。如果serialPort类不能打开串口,那么要用到windows API来操作,具体例子网上比较多,用到API 有CreateFile,ReadFile,WriteFile,在应用之前关键是要找到这个串口对应的句柄,否则无法操作。
      

  2.   

    我可以用SerialPort来获得所有串口名称,然后对这些串口进行轮询。但是SerialPort并不能取得串口在控制面板里面显示的名称。所以无法确定哪个COM口是我的设备。