【问题标题】:list com ports available in VBscript or HTML列出 VBscript 或 HTML 中可用的 com 端口
【发布时间】:2013-11-08 20:40:19
【问题描述】:

您好,我正在运行一个简单的 VBscript 程序,该程序将信号发送到由 USB>串行转换器制成的 com 端口。每次插入时这个数字都会改变,为了便于使用,我希望弹出一个交互式窗口来显示可用的 COM 端口,而不是让用户查找并手动输入它们。

我想知道是否有一种方法可以使用 VBscript 或 HTML 代码获取可用的 com 端口,然后将其提供给 ie 窗口中的单选按钮选项。我已经看到了几个关于如何使用 C# 获取它的实例,但希望使用 VBscript 和 HTML 保留此代码。

现在我正在使用 devcon 在 CMD 窗口中获取信息,但我不知道如何将其移植回我的脚本。

Set objShell = wscript.CreateObject("Wscript.Shell")
strCommand = "elevate cmd /k c:/devcon listclass PORTS"
objShell.Run strcommand, 1, true

我尝试使用 > 将信息写入文本文件,但由于某种原因它忽略了脚本的那部分...并且尝试通过 .sendkeys 发送命令也失败了 .sendkeys 不适用于 windows8命令。

【问题讨论】:

  • 您想从用户的计算机上获取有关可用 COM 端口的信息?
  • 是的,我希望程序列出运行它的机器上的可用 com 端口。为了清楚起见,我会更新问题
  • 没有。并非不使用 activex 控件。
  • ... 或者像devcon这样的东西。
  • @Ansgar Wiechers。你能输入一个快速代码来展示它是如何工作的吗?这看起来像我想做的......

标签: html com vbscript


【解决方案1】:

Run 方法不允许您访问命令的输出。请改用Exec 方法:

Set sh = CreateObject("WScript.Shell")

Set devcon = sh.Exec("elevate cmd /k c:/devcon listclass PORTS")

Do While devcon.Status = 0
  WScript.Sleep 100
Loop

If devcon.ExitCode = 0 Then WScript.Echo devcon.StdOut.ReadAll

【讨论】:

    【解决方案2】:

    对我来说(在 Win 10 上)只有这样才有效:

    Set devcon = sh.Exec("c:/devcon listclass PORTS")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 2012-05-20
      • 2014-01-08
      • 1970-01-01
      相关资源
      最近更新 更多