批处理脚本中的 SendKeys
作者:迹忆客
最近更新:2024/03/15
浏览次数:
这是一个有趣的话题。在本文中,我们将从批处理脚本生成按键。
为此,我们不需要按键盘上的键。我们的脚本将以编程方式自动生成按键。
我们还将看到一个带有解释的示例,以使该主题易于理解。
批处理脚本中的 SendKeys
下面的示例将打开一个浏览器窗口并按 Tab 键在输入字段上移动。我们示例的代码如下所示。
@if (@CodeSection == @Batch) @then
@echo off
SET SendKeys=CScript //nologo //E:JScript "%~F0"
START chrome -new-window --incognito "https://google.com/"
TIMEOUT /t 3
%SendKeys% "%USERNAME%"
%SendKeys% "{TAB}"
GOTO :EOF
@end
// JScript section
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));0
在上面的例子中,通过 SET SendKeys=CScript //nologo //E:JScript "%~F0"这一行,我们使用%SendKeys%将键发送到键盘缓冲区。此脚本将打开一个浏览器窗口。
通过 TIMEOUT /t 3 这一行,我们设置了一个计时器来等待网络加载。我们使用 Tab 键在不同的字段上移动。
因此,我们将按下 Tab 键来移动批处理脚本中的字段。记住,这个例子是 JScript 的组合。
JScript 是 Microsoft 的 Internet Explorer 中使用的旧版 ECMAScript 方言。
一些重要的键
| 键 | 代码 |
|---|---|
| BACKSPACE | {BACKSPACE}, {BS}, or {BKSP} |
| BREAK | {BREAK} |
| CAPS LOCK | {CAPSLOCK} |
| DEL or DELETE | {DELETE} or {DEL} |
DOWN ARROW |
{DOWN} |
| END | {END} |
| ENTER | {ENTER} or ~ |
| ESC | {ESC} |
| HELP | {HELP} |
| HOME | {HOME} |
| INS or INSERT | {INSERT} or {INS} |
LEFT ARROW |
{LEFT} |
| NUM LOCK | {NUMLOCK} |
| PAGE DOWN | {PGDN} |
| PAGE UP | {PGUP} |
| PRINT SCREEN | {PRTSC} |
RIGHT ARROW |
{RIGHT} |
| SCROLL LOCK | {SCROLLLOCK} |
| TAB | {TAB} |
UP ARROW |
{UP} |
| F1 | {F1} |
| F2 | {F2} |
| F3 | {F3} |
| F4 | {F4} |
| F5 | {F5} |
| F6 | {F6} |
| F7 | {F7} |
| F8 | {F8} |
| F9 | {F9} |
| F10 | {F10} |
| F11 | {F11} |
| F12 | {F12} |
| F13 | {F13} |
| F14 | {F14} |
| F15 | {F15} |
| F16 | {F16} |

