VBS InputBox隐藏在其他窗口后面

时间:2016-11-30 07:29:35

标签: vbscript focus inputbox

在我目前正在处理的脚本中,我正在构建一个动态的项目列表,需要获得用户对哪个项目进行加载的反馈。
目前使用 InputBox 方法,该方法完美无缺,但经常隐藏在用户屏幕上的其他窗口后面。

我正在寻找一种方法将其带到前面,与 vbSystemModal 对于 MsgBox 的效果类似。

我找到的大多数答案(在本网站和其他网站上)都处理VB.Net和命令/子程序,它们不适用于像我这样使用的VBS。关于VBS的其他类似问题,我发现没有得到任何具体答案,或者关闭使用不同脚本语言的建议......

我计划在此脚本的未来版本中转移到HTA。这应该为我提供许多替代方案。但就目前而言,我没有时间完成脚本的重建,需要开始工作。

提前感谢您使用输入框焦点或任何其他创意替代方向指向我正确的方向,您的智慧可以结合起来!

亲切的问候!

1 个答案:

答案 0 :(得分:0)

我会使用AutoItX.dll,您可以从这里下载:https://www.autoitscript.com/site/autoit/downloads/

然后使用WinSetOnTop:

Set oAutoIt = WScript.CreateObject("AutoItX3.Control")
oAutoIt.WinSetOnTop "MyInputBoxName", "", 1

或仅设置焦点使用WinActivate:

Set oAutoIt = WScript.CreateObject("AutoItX3.Control")
oAutoIt.WinActivate "MyInputBoxName", ""

顺便说一下:几年前我开始使用VBS,然后我添加了AutoItX控件并在HTA中写了一些东西。但最后我改为完整的AutoIt应用程序。