2

我正在使用 wshShell.SendKeys 从 HTA 向网站输入一些文本,当我当前的键盘布局不是英文时,wshShell.SendKeys 的结果是出乎意料的。

我希望我的函数检查语言是英语,否则发送 ALT+SHIFT 将其更改为英语。对我来说,困难的部分是找到一个返回当前键盘布局的函数。

如果有人熟悉这样做的方法,我会很高兴知道..

谢谢, 罗特姆

4

2 回答 2

3

好的,我在“影子向导”的帮助下做到了..

这是代码,如果有人想知道(=

谢谢!

    var lastKeyPressed = 0;

function sendKey()
{
    var WshShell = new ActiveXObject("WScript.Shell");
    WshShell.SendKeys( 'a' );
}

function getCurLayout()
{
    sendKey();
    setTimeout("lastKeyLang()",10);
}

function lastKeyLang()
{
    if( lastKeyPressed == 97 )
        alert( 'EN' );
    else
        alert( 'HE' );  
}

document.onkeypress = saveLastKey;  
function saveLastKey()
{
    lastKeyPressed = window.event.keyCode;
}
于 2010-12-11T13:15:28.420 回答
0

将“A”发送到文本框,像这样读回:

nValue = oTextbox.value.charCodeAt(0);

如果nValue是 65 布局是英文,否则它不是并且可能ש被发送了。

于 2010-12-09T20:59:27.873 回答