【问题标题】:How to display a message when opening HTA file with VBS使用 VBS 打开 HTA 文件时如何显示消息
【发布时间】:2018-07-11 10:08:25
【问题描述】:

我有只有一行的 VBS 文件

CreateObject("Wscript.Shell").Run "cmd /c start mshta.exe %cd%/app.hta",0,True

当我点击这个 VBS 文件时,在打开 HTA 文件之前有一个延迟,所以我需要在此期间显示一些消息并在打开 HTA 文件时隐藏它。如果我能够用消息对窗口进行样式化会更好。

我该怎么做?

【问题讨论】:

  • VBScript 并没有真正提供并行执行的方法,即使在某些情况下有解决方法。您可以使用Popup 方法,但这只是基于计时器,因此它不会对 HTA 是否启动作出反应。但是为什么首先需要 VBScript?您可以直接启动 HTA。
  • 这个 HTA 文件是为不同的用户准备的,我注意到如果没有右键单击“打开方式...”命令并在其中找到 mshta.exe,我无法直接在某些计算机上打开它Windows 文件夹。所以我需要在没有这些额外操作的情况下打开文件,而 VBS 是我目前找到的唯一方法。
  • 我建议修复那些无法直接启动 HTA 的计算机上的配置。
  • 但这也意味着我不想强迫用户执行其他操作。最好试试Popup方法
  • 我认为您不应该迎合配置有问题的用户,但这当然由您决定。

标签: cmd vbscript wsh hta


【解决方案1】:

这将加快程序的启动速度。看到没有真正的目的启动一个名为cmd 的程序。不要调用cmdStart,它会以不寻常的方式启动程序并且本质上很慢。指定它的路径意味着它不需要被搜索。

CreateObject("Wscript.Shell").Run "C:\windows\system32\mshta.exe ""%cd%\app.hta""",0,True

【讨论】:

    【解决方案2】:

    Popup 方法的消息示例:

    CreateObject("Wscript.Shell").Popup "Please wait...", 1, "Window tile"
    

    1 等待几秒

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多