最近、バッチスクリプトを使用してSendKeys関数を使用しています。
タブキーなどの特定のキーをウィンドウに入力する方法を理解しました。
%SendKeys% "{TAB}"
またはバックスペースキー:
%SendKeys% "{BACKSPACE}"
しかし、Windowsキーを押さずに入力しようとしています。
残念ながら、そのバッチ名はわかりません。私はもう試した:
WIN
WINDOWS
WINKEY
START
LWIN
しかし、どれもうまくいきませんでした。
私はこれをどこでも探しましたが、助けていただければ幸いです。
sendkey's でwindows home logoをシミュレートする方法は現在ありませんが、これは不可能ではありません。
windowsショートカットキー を見ると、次のキーの組み合わせでシミュレートOpen Startできることがわかります。 Ctrl + Esc。
これをバッチでシミュレートするには、次を使用できます:powershell -c "$wshell = New-Object -ComObject wscript.Shell; $wshell.SendKeys('^{ESCAPE}')
またはあなたの場合:%SendKeys% "^{ESCAPE}"
。
Sendkeysで述べたように:
押されているウィンキーをシミュレートするプログラムを作成できます。
WinKey + R.VB
Imports System.Runtime.InteropServices
Imports System.Windows.Forms
Public Module SendWinKey
Const KEYEVENTF_KEYDOWN As Integer = &H0
Const KEYEVENTF_KEYUP As Integer = &H2
Declare Sub keybd_event Lib "User32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As UInteger, ByVal dwExtraInfo As UInteger)
Public Sub Main()
keybd_event(CByte(Keys.LWin), 0, KEYEVENTF_KEYDOWN, 0) 'press the left Win key down
keybd_event(CByte(Keys.R), 0, KEYEVENTF_KEYDOWN, 0) 'press the R key down
keybd_event(CByte(Keys.R), 0, KEYEVENTF_KEYUP, 0) 'release the R key
keybd_event(CByte(Keys.LWin), 0, KEYEVENTF_KEYUP, 0) 'release the left Win key
End Sub
End Module
デスクトップに置きます。
コマンドプロンプトを開き、次のように入力します。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc "%userprofile%\desktop\Win+R.vb" /out:"%userprofile%\Desktop\Win+R.exe" /target:winexe
Win + R.exeというファイルがデスクトップに表示されます。それをパスのどこかに移動します。