2010-12-09 9 views
2

Я использую wshShell.SendKeys для ввода некоторого текста на веб-сайты из HTA, когда моя текущая раскладка клавиатуры не является английским, результаты wshShell.SendKeys непредвиденны.Получить текущий язык раскладки клавиатуры в JavaScript

Я хочу, чтобы моя функция проверялась, а язык - на английском, в противном случае отправьте ALT + SHIFT, чтобы изменить его на английский. Трудная часть для меня - найти функцию, которая возвращает текущую раскладку клавиатуры.

Если кто знаком с образом делать это, я буду рад узнать ..

Спасибо, Rotem

+0

Не уверен, что если любое из этого помогает: http://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference – epascarello 2010-12-09 21:57:54

+0

Привет, примеры в ссылке возвращают язык браузера/системы, а не текущий язык раскладки клавиатуры Но спасибо за помощь! – Rotem 2010-12-10 20:43:38

ответ

3

Хорошо, я сделал это с помощью 'мастера' Shadow .. В

Это код, если кто-то хочет знать (=

Спасибо!

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

Отправить "A" в текстовом поле, прочитать его обратно, как это:

nValue = oTextbox.value.charCodeAt(0); 

Если nValue составлено по 65, это означает, что в противном случае это не так, и, возможно, вместо этого было отправлено ש.

Смежные вопросы