【问题标题】:Get the current keyboard layout language in JavaScript在 JavaScript 中获取当前的键盘布局语言
【发布时间】:2010-12-09 20:33:11
【问题描述】:

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

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

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

谢谢, 罗特姆

【问题讨论】:

  • 不确定这是否有帮助:stackoverflow.com/questions/1043339/…
  • 您好,链接中的示例返回的是浏览器/系统语言,而不是当前的键盘布局语言。但是感谢您的帮助!

标签: javascript windows keyboard-layout


【解决方案1】:

好的,我在“暗影法师”的帮助下做到了..

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

谢谢!

    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;
}

【讨论】:

    【解决方案2】:

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

    nValue = oTextbox.value.charCodeAt(0);
    

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

    【讨论】:

    • 已经试过了,还是不行。它返回 65,无论是不是英文的。你试过了吗?
    • @Rotem 自己并没有尝试使用 SendKeys 只是使用普通 JS,所以认为它可能会工作..
    • 好的,我现在试试,告诉你!谢谢!
    猜你喜欢
    • 2014-02-24
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 2012-09-04
    • 2011-03-06
    • 2011-06-22
    • 1970-01-01
    相关资源
    最近更新 更多