6

我正在尝试编写一个简单的脚本来发送CTRL++的组合WINDOWS KEYTAB。下面的代码发送键CTRL+ ALT+TAB

Set WshShell = WScript.CreateObject("WScript.Shell")
  WshShell.SendKeys "^%{TAB}"

但是,当我尝试用(又名左 Windows 键)替换“%”(又名ALT键)时,它会显示语法错误。LWIN

我尝试了以下方法,但没有运气:

Set WshShell = WScript.CreateObject("WScript.Shell")
  WshShell.SendKeys "^{LWIN}{TAB}"

 

Set WshShell = WScript.CreateObject("WScript.Shell")
  WshShell.SendKeys "^{LWIN}+{TAB}"

 

Set WshShell = WScript.CreateObject("WScript.Shell")
  WshShell.SendKeys ^{LWIN}+{TAB}

我知道这与在按下其他键时能够按住某些键有关,但我似乎无法正确处理。

可以使用CTRL+以编程方式按下 windows 键ESC。有没有办法将此组合设置为一个名为的变量LWIN,然后使用上述脚本之一?

4

4 回答 4

5

试试这个代码:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "+(^{LWIN}{TAB})"
于 2016-03-23T16:20:46.757 回答
5

以防万一有人在这些年来到这里......
一种解决方法(而不是发送击键)是直接调用应用程序:

Set objShell = CreateObject("Shell.Application")
objShell.WindowSwitcher

这将打开Task SwitcherWindows 应用程序。(与⊞ windows+相同TAB

于 2016-12-08T19:23:46.663 回答
1

我知道您正在寻找 VBscript,但看起来不太可能(纯 VBscript)。这是一篇通过 C# 解决了这个问题的帖子。

https://stackoverflow.com/a/10367832/1742115

如果您想在 vbs 中保留其中的一些内容,此页面将介绍如何从您的 VBscript 调用 C# DLL。

于 2012-10-14T02:36:01.510 回答
1

我认为您的问题是XY 问题的一个示例,您真正想要做的是激活 Flip 3D(在窗口之间切换)。您可以通过执行以下rundll32 DwmApi #105命令以编程方式执行此操作:

CreateObject("WScript.Shell").Run "rundll32 DwmApi #105"
于 2013-07-16T08:10:20.033 回答