Войти

Показать полную графическую версию : [решено] как при помощи SendKeys передать строку в CMD, русский - передает, латиница - нет


boris_m
03-03-2010, 18:27
var WshShell, theCMD;

WshShell = WScript.CreateObject("WScript.Shell");

theCMD = WshShell.Run("cmd",1,false);

WScript.Sleep(1000);

WshShell.SendKeys("тест");
WScript.Sleep(500);
WshShell.SendKeys("test");

так "тест" нормально выводит а на "test" - не реагирует, пробовал вывести символ "q" выдает запрос на стирание, как победить? мне телнет ну очень надо =)

amel27
04-03-2010, 07:09
boris_m, текущая раскладка клавиатуры английская?

boris_m
04-03-2010, 10:22
да, пробовал и с той и с другой, видимо гадость в том что винда русская... можно как нибудь в командную строку посылать не сами символы а их коды? (я не имею ввиду {ENTER}) В том смысле что не саму букву а может быть её ASCII код? может так пройдет...

amel27
04-03-2010, 11:18
да, пробовал и с той и с другой, видимо гадость в том что винда русская »
у меня на русской все Ок, если по умолчанию стоит английская (с ней и открывается новое окно)

boris_m
04-03-2010, 11:40
мда, до кучи +% раскладку клавиатуры не меняет...

да, видимо проблема была в этом. по умолчанию в системе русский, поменял на английский - заработало, терь буду курить бамбук на тему замены языка по умолчанию или замены раскладки в ком строке...

ИТОГО- ставим по язык ввода по умолчанию - английский, у меня для этого пришлось поменять его во всей системе, есть решение лучше - пишите, пока меня устраивает и это.




© OSzone.net 2001-2012