Задать вопрос
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"
Удалось установить кодировку в этой консоли, но проблема не решена.
  • Вопрос задан
  • 1376 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Merion Academy
    Администрирование MS Windows Server
    1 месяц
    Далее
  • Нетология
    Инженер по автоматизации
    13 месяцев
    Далее
  • Skillbox
    Системный администратор с нуля
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
WshShell.Run "cmd /K chcp 1251"
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Монетка Екатеринбург
от 130 000 до 160 000 ₽
Гринатом Петрозаводск
До 80 000 ₽
Алабуга Екатеринбург
от 127 500 ₽