6

CTRL++のキー コンボを送信する簡単なスクリプトを作成しようとしていWINDOWS KEYますTAB。以下のコードはキーを送信しますCTRL+ ALT+TAB

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

ALTただし、「%」(別名キー)を(別名左Windowsキー)に置き換えようとする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}

他のキーが押されている間に特定のキーを押し続けることができることと関係があることは知っていますが、正しく理解できないようです.

CTRLWindows キーは、 +を使用してプログラムで押すことができます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 Switcherこれにより、 Windows アプリが開きます。⊞ 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 に答える