将GUI添加到VBScript

Den*_*ing 5 vbscript user-interface

我目前正在研究vbs脚本,但我需要用户与脚本进行交互.基本上我需要两个按钮和4个复选框(复选框并不重要).

提前致谢

pet*_*ter 5

VBScript有对话框,只有很多而且没有复选框,你需要一个COM对象才能这样做(而且有).我相信你知道Messagebox,这里是一个鲜为人知的Popup的例子

Dim WshShell, BtnCode
Set WshShell = WScript.CreateObject("WScript.Shell")

BtnCode = WshShell.Popup("Do you feel alright?", 7, "Answer This Question:", 4 + 32)

Select Case BtnCode
   case 6      WScript.Echo "Glad to hear you feel alright."
   case 7      WScript.Echo "Hope you're feeling better soon."
   case -1     WScript.Echo "Is there anybody out there?"
End Select
Run Code Online (Sandbox Code Playgroud)

但是,在vbscript中使用更多对话框的最佳方法是使用HTA.这是一个例子

<HTML><HEAD>
   <HTA:APPLICATION
   ID = "oApp"
   APPLICATIONNAME = "Example"
   BORDER = "thick"
   CAPTION = "yes"
   ICON = "app.ico"
   SHOWINTASKBAR = "yes"
   SINGLEINSTANCE = "yes"
   SYSMENU = "yes"
   WINDOWSTATE = "normal"
   SCROLL = "yes"
   SCROLLFLAT = "yes"
   VERSION = "1.0"
   INNERBORDER = "yes"
   SELECTION = "no"
   MAXIMIZEBUTTON = "yes"
   MINIMIZEBUTTON = "yes"
   NAVIGABLE = "yes"
   CONTEXTMENU = "yes"
   BORDERSTYLE = "normal"
   >

   <SCRIPT language="vbscript">
   sub SimpleExeample()
     document.body.innerHTML = "<form name=myform><input type=checkbox name=chk1>Check me<br><br><button onclick='alert(myform.chk1.checked)'>Show if checked</button></form>"
   end sub
   </SCRIPT>

</HEAD>
<BODY onLoad="SimpleExeample()">
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

有一点我同意Cody,如果你开始编程选择另一种语言,vbscript几乎已经死了.看看Ruby,开始很容易学习它很有趣.这里是一个使用鞋子作为GUI的u ruby​​脚本示例

require 'green_shoes'
Shoes.app{
  button("Click me!"){alert("You clicked me.")}
}
Run Code Online (Sandbox Code Playgroud)

编辑:因为我的Ruby替代方案提出了一些问题,这里更接近Vbscript使用相同样本的传统​​方式.上面的示例更多地用于功能链式编程方式.

require 'green_shoes'
Shoes.app do
  button("Click me!") do
    alert("You clicked me.")
  end
end
Run Code Online (Sandbox Code Playgroud)

  • 我必须同意VBScript基本上内置在Windows中这一事实使其对许多任务非常有价值. (3认同)
  • @peter你为什么说vbscript死了?您可以访问任何随机计算机,并在那里使用vbscript解释器.在大多数随机计算机上,您不能安装新软件.那你怎么得到那个红宝石翻译呢? (2认同)