【问题标题】:VBScript SendKeys CTRL+LWIN+TAB?VBScript SendKeys CTRL+LWIN+TAB?
【发布时间】:2012-10-13 22:20:33
【问题描述】:

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

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

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

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

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+ESC 以编程方式按下 windows 键。有没有办法将此组合设置为名为 LWIN 的变量,然后使用上述脚本之一?

【问题讨论】:

  • 这是恐龙和人类的时代错误。 VBScript 早在键盘获得 Windows 键之前就发明了。或者更恰当地说,他们在很久很久以前就停止了维护 VBScript。回到上个世纪。 .NET 的 SendKeys 也不支持,看看 AutoHotkey 之类的东西。
  • 用CTRL+ESC模拟windows键(参考上面的更新)
  • Ctrl+Esc 不模拟 Win 键;它只是调用开始菜单。

标签: windows vbscript sendkeys keystroke


【解决方案1】:

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

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

这将打开Task Switcher Windows 应用程序。 (同⊞窗口+TAB

【讨论】:

    【解决方案2】:

    试试这个代码:

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

    【讨论】:

      【解决方案3】:

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

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

      This page 告诉您如何在 VBscript 中调用 C# DLL,如果您想在 vbs 中保留其中的一些内容。

      【讨论】:

      • 好的,这可以工作,但是否可以在没有 gui 的情况下运行建议的代码?因此表现得像 vbscript(纯动作,没有视觉证据)。我的目的是创建一个小脚本来模拟 Windows 3D 任务切换器。 (用CTRL+WIN+TAB表示)
      • This page,包含代码,说它可以作为控制台应用程序运行......所以没有 UI。
      【解决方案4】:

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

      CreateObject("WScript.Shell").Run "rundll32 DwmApi #105"
      

      【讨论】:

        猜你喜欢
        • 2022-01-02
        • 2013-03-06
        • 1970-01-01
        • 2023-04-10
        • 2010-10-23
        • 1970-01-01
        • 1970-01-01
        • 2019-02-01
        • 1970-01-01
        相关资源
        最近更新 更多