我正在寻找一个库,以使用Windows脚本宿主在桌面上的VBScript编程环境中使用标准控件类型(放置在窗口或对话框中的下拉列表,文本框,按钮等)创建合理可用的2D GUI。 (WScript.exe)。

我已经看过HTA文档,但是UI极其陈旧,笨拙且运行缓慢,因为该UI托管在IE实例中;它也受Web平台功能的限制,或更具体地说,受IE对Web平台的不良实现的限制。

为了让我对我想使用的东西类型有所了解,.NET System.Windows.Forms命名空间是我需要的东西的适当超集,我不需要像动画,3D等之类的东西,而这些东西可以在WPF等更高级的框架中使用。如果我们要将桌面UI的复杂度期望扩展到2003年左右,是否可以实例化COM库以在VBScript / Windows Scripting Host中设计自定义Windows UI?我已经知道本地Win32 API不可用,因此无法直接调用CreateWindowEx和来自user32.dll的系列。这就是为什么我要寻找一款软件的原因。

评论

您是否仅限使用VBScript? PowerShell(适用于XP +)支持使用.NET创建GUI。

#1 楼

您可以使用WindowSystemObject(我是开发人员)在VBScript中构建GUI。

例如:

Set wso = WScript.CreateObject("Scripting.WindowSystemObject")

wso.EnableVisualStyles = true

Set form = wso.CreateForm(0,0,0,0)
form.ClientWidth = 150
form.ClientHeight = 120
form.CenterControl()

Set input1 = form.CreateEdit(10,10,100,25)

Set input2 = form.CreateEdit(10,30,100,25)

Set input3 = form.CreateEdit(10,50,100,25)

Set button = form.CreateButton(10,70,75,25,"Close")

button.OnClick = GetRef("ButtonClick")

Sub ButtonClick(this)
        form.messageBox(input1.text & input2.text & input3.text)
End Sub

form.Show()

wso.Run()


评论


优秀的软件!谢谢!!

– allquixotic
2015年11月19日在17:10

#2 楼

如果您完全依赖使用VBScript,则可以开发HTML应用程序(或HTA)。这只是由VBScript而不是JavaScript驱动的HTML。

实际上已经在Stack Overflow问题中进行了讨论,甚至还有一个向导(如SO文章中所述)!

编辑:之前没有看到有关使用HTA的注释。如果您不想使用HTA,我相信GTK支持通过GTK服务器使用VBScript。有点混乱(乍看之下,似乎是通过STDIN到GTK一起使用的),但是您可以使用它进行UI。

如果所有其他方法都失败了,总有一个重写此方法的选项在Visual Basic中,只需使用它...

#3 楼

我创建了一个HTA VBS前端,该员工可使用它的配置文件和源HTA文件。

我已经在Windows 8.1,Windows Server 2012,Windows 10和VMWare上使用IE11和Firefox对它进行了测试。这是我写的开源文件。

评论


您是否有关于此主题的URL示例,文档或讨论?

– DankyNanky
18年1月22日在10:31