如何让vbs在执行过程中窗体存在,但又不能在所有程序的上面
时间: 2023-06-20 09:06:17 浏览: 61
你可以使用 VBScript 中的 `CreateObject` 方法创建一个 Windows Script Host Shell 对象,并使用该对象的 `AppActivate` 方法将窗口置于前台。然后,您可以使用 `WshShell` 对象的 `Run` 方法在后台运行指定的程序。以下是一个示例脚本:
```vbscript
Set WshShell = CreateObject("WScript.Shell")
' 显示窗口
WshShell.Run "notepad.exe", 1, False
WshShell.AppActivate "记事本"
' 等待一段时间
WScript.Sleep 5000
' 隐藏窗口
WshShell.AppActivate "桌面"
```
在上面的脚本中,`WshShell.Run` 方法将记事本程序打开,并将其置于前台。然后,脚本会等待 5 秒钟,然后使用 `WshShell.AppActivate` 方法将桌面置于前台,从而使记事本窗口被隐藏。
请注意,此方法仅适用于 Windows 系统。如果您需要在其他操作系统上运行脚本,则需要查找其他方法。
相关问题
如何让vbs窗体存在,但又不能在所有程序的上面
可以使用VBScript中的Shell对象的AppActivate方法将窗口置于前台,并使用SendKeys方法发送Alt+Tab键来将其移动到后台。以下是示例代码:
```
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "notepad.exe" '打开一个记事本窗口
WScript.Sleep 1000 '等待1秒
WshShell.AppActivate "记事本" '将记事本窗口置于前台
WScript.Sleep 1000 '等待1秒
WshShell.SendKeys "%{TAB}" '发送Alt+Tab键将记事本窗口移动到后台
```
在这个示例中,记事本窗口将被打开并置于前台,等待1秒后,将其移动到后台。你可以将“记事本”替换为你想要操作的窗口的标题。
可以让vbs窗体不在在所有程序的上面么
是的,可以设置vbs窗体的属性使其不出现在所有程序的上面。你可以使用以下代码:
```
Set objShell = CreateObject("WScript.Shell")
objShell.Run "your_vbs_script.vbs", 0, False
```
在这个代码中,第三个参数设置为False,表示窗体不会出现在所有程序的上面。如果想让窗体出现在所有程序的上面,则将第三个参数设置为True。