Send Windows Key in batch script

匿名 (未验证) 提交于 2019-12-03 01:39:01

问题:

I've recently been using the SendKeys function using Batch script.

I've understood how to input certain keys into a window, such as the tab key:

%SendKeys% "{TAB}"

Or the backspace key:

%SendKeys% "{BACKSPACE}"

But I have been trying to input the Windows key without pressing it.

Unfortunately, I do not know what the batch name for it is. I've tried:

WIN WINDOWS WINKEY START LWIN

But none have worked.

I've looked everywhere for this, and help would be greatly appreciated.

回答1:

There is currently no way to simulate the windows home logo in sendkey's, howevery this does not mean it's not possible.

If you take a look at the windows shortcut keys you will find you can simulate Open Start with the following key combinations: Ctrl + Esc.

To simulate this in batch, you can use: powershell -c "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('^{ESCAPE}') or in your case: %SendKeys% "^{ESCAPE}".

As stated in sendkeys:

  • "^" - Simulates a Ctrl key press.
  • "{ESCAPE}" - Simulates a Esc key press.


回答2:

You can make a program to simulate winkey being pressed.

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

Place on your desktop.

Open a command prompt and type

C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc "%userprofile%\desktop\Win+R.vb" /out:"%userprofile%\Desktop\Win+R.exe" /target:winexe

A file called Win+R.exe will appear on your desktop. Move it anywhere into the path.



转载请标明出处:Send Windows Key in batch script
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!