Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 发送非英语键盘的键故障_Batch File_Keyboard_Sendkeys - Fatal编程技术网

Batch file 发送非英语键盘的键故障

Batch file 发送非英语键盘的键故障,batch-file,keyboard,sendkeys,Batch File,Keyboard,Sendkeys,我有以下代码访问特定站点并输入用户名(取自%username%) 只要键盘设置为英语,它就可以正常工作,但是,如果键盘设置为另一种语言,它就不能正常工作 是否有某种方法可以从批处理文件更改键盘输入语言,或者用另一种方法解决此问题 @if (@CodeSection == @Batch) @then @echo off rem Use %SendKeys% to send keys to the keyboard buffer set SendKeys=CScript //nologo //

我有以下代码访问特定站点并输入用户名(取自%username%)

只要键盘设置为英语,它就可以正常工作,但是,如果键盘设置为另一种语言,它就不能正常工作

是否有某种方法可以从批处理文件更改键盘输入语言,或者用另一种方法解决此问题

@if (@CodeSection == @Batch) @then


@echo off

rem Use %SendKeys% to send keys to the keyboard buffer
set SendKeys=CScript //nologo //E:JScript "%~F0"
start chrome -new-window --incognito "https://servicedesk.sa.gov.ge/"
rem the script only works if the application in question is the active window. Set a timer to wait for it to load!
timeout /t 3
rem use the tab key to move the cursor to the login and password inputs. Most htmls interact nicely with the tab key being pressed to access quick links.

rem now you can have it send the actual username/password to input box
%SendKeys% "%USERNAME%"
%SendKeys% "{TAB}"

goto :EOF


@end
// JScript section

var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));

目前,Windows不支持此功能,我也尝试过在superuser上找到答案,但目前还没有解决方案。

我认为很明显,您需要添加一些代码来确定当前用户的键盘语言,并相应地进行调整。请不要发布没有表现出特定问题的代码,然后期望有人向您提供解决方案或方法,当您没有表现出自己尝试做这项工作时,就将其栓在上面。你的问题离题了,因为这是一个直接的代码请求。它非常具体。实际上,我提供的代码在键盘为英语的情况下运行良好,在键盘为非英语的情况下出现故障,我只是想弄清楚是什么原因造成的,是否有一些简单的解决办法来解决它。你能告诉我们哪条线不工作,这样我们就可以帮助你解决它了吗?还有,你为什么不更像这样使用它<代码>%SendKeys%%UserName%{TAB}“或
%SendKeys%%UserName%{ENTER}”
。我这样问是因为您似乎在使用第一行sendkeys只发送文本字符串,而不是击键!这是一种更低级的方法。请记住,它发送的是密钥而不是字符。问题在于-%SendKeys%%USERNAME%'。只要将键盘输入语言设置为英语,它就可以正常工作,但如果输入语言是其他语言,它就会开始键入不同的奇怪符号、字符等。