2010-12-09 82 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

好吧,我跟 '影子嚮導' 的幫助下做吧..

這是代碼,如果有人想知道(=

謝謝!

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佈局爲英語,否則它不和可能ש被代替發送。

相關問題