Задать вопрос
kursorik2
@kursorik2
Junior-Developer

Странный баг SendKeys на VBS, 3 часа не могу найти ответ?

По логике вещей, скрипт должен создать консоль, сменить кодировку на Windows-1251, отправить Английский текст "KPACUBO" и эмулировать нажатие Enter. Но кодировка не меняется "На строку ругается что Файл не найден, если пишу перед ней cmd \C то открывается совсем другая консоль и там все меняется, но мне нужна эта." НО самое главное что русский текст выводится нормально а латинский непонятно как (некоторые буквы транслитерирует на русский, некоторые - выводит символами), подумал что дело в кодировке, но даже ее сменить не могу.
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd"
WScript.Sleep 1000
WshShell.Exec("chcp 1251")
rem Назначаем кодировку 1251 (не работает)
WScript.Sleep 1000
WshShell.SendKeys "KPACUBO" & chr(13)
rem Отправляем текст в консоль и эмулируем нажатие Enter

Вывод в консоли слова KPACUBO (выводится как лзфсгищ):
6c4fc1225afb35de7790cb65bfbfaa94.png

Товарищи, сильно не пинайте, пишу вопрос так как потерял надежду понять как должно быть правильно.

UPD 1
WshShell.Run "cmd /K chcp 1251"
Удалось установить кодировку в этой консоли, но проблема не решена.
  • Вопрос задан
  • 1304 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
WshShell.Run "cmd /K chcp 1251"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы