作者hirabbitt (兔子)
看板Visual_Basic
标题[VB6 ] 找comport的问题
时间Mon May 10 14:29:20 2010
从网路上找到的方法1
Set obj =
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set items = obj.ExecQuery("Select * from
Win32_SerialPort")
For Each item In items
//item.DeviceID 就是要找的port
Next
但是我以这种方式去做
好像只能找到com1和com2
另外接上去的com6并没有出现
而且
我看不懂obj和items那边在做什麽QQ
========================================
又找了方法2
只是把items的语法换掉而已
变成
Set items =
obj.ExecQuery("Select * from
Win32_PnPEntity where Name like %(com%)%")
结果跑出Automation Error
我把where後面的语句删掉後
Set items = obj.ExecQuery("Select * from
Win32_PnPEntity")
虽然没有出错
但是跑出一堆看不懂的port
像是ROOT\ACPI_HAL\0000等等
而且也没有我要的com6
==========================================
然後找了方法3
是生一个MSComm物件
然後用for一个一个port去试能不能开启
这方法终於成功的找到我的com6
可是感觉有点笨?
===========================================
想请问
是不是没有其他方式了?
谢谢
--
◤ __ \__◣
◢◤◢◤ ψhirabbitt
◢ ◤ ◢███◣
◢███◣
和你的约定 █████
█████ 不变心的约定
██
●█
● █▇███
是变心的约定 ██
╱╲ ●◥█████◣● 是我和自己的约定
◥
╱█
╱╱ ● ◥████ ˇ
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.13.127.91
※ 编辑: hirabbitt 来自: 163.13.127.91 (05/10 14:30)
1F:推 auk109:#17FHCaJT , 我也只是用for写...可以用就好..噗 05/10 23:46
2F:→ hirabbitt:好 感谢 05/11 08:08