Get the current keyboard layout language in JavaScript

前端 未结 2 736
小蘑菇
小蘑菇 2020-12-11 10:43

I am using wshShell.SendKeys to input some text into web sites from an HTA, when my current keyboard layout is not English, the results of wshShell.SendKeys is unanticipated

相关标签:
2条回答
  • 2020-12-11 11:31

    Ok, I made it with 'Shadow Wizard''s help..

    This is the code, if anyone want to know (=

    Thanks!

        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;
    }
    
    0 讨论(0)
  • 2020-12-11 11:34

    Send "A" to textbox, read it back like this:

    nValue = oTextbox.value.charCodeAt(0);
    

    If nValue is 65 layout is English otherwise it's not and probably ש was sent instead.

    0 讨论(0)
提交回复
热议问题