Я нахожу, что SendKeys
VBscript не поддерживает Unicode. Он поддерживает некоторые, такие как A-65, но не иностранные буквы, как письмо Алеф (א) с еврейского алфавита. Prob за пределами поддерживаемого диапазона. Может быть для десятичных значений 128+, он дает «?», И он поддерживает только диапазон ASCII.Есть ли или может ли SendKeys VBscript поддерживать Unicode?
Я могу напечатать и увидеть буквы на иврите на своем компьютере с помощью Windows XP. Таким образом, поддержка ОС для персонажей существует и настроена. Мой исходный код показывает, что, так как линия
msgbox Chrw(1488)
отображает символ Алеф, и я отображается его в блокноте и MS Word.
Мне кажется, что он отправляет знак вопроса персонажу, которого он не распознает. Я думаю, что MS Word или Notepad, если у них возникла проблема с отображением символа (например, когда шрифт не поддерживает символ), они будут отображать поле, а не знак вопроса. Конечно, в случае с Блокнотом в любом случае. Таким образом, это выглядит как проблема SendKeys
. Есть идеи? Любой способ обхода?
Dim objShell
Set objShell = CreateObject("WScript.Shell")
objShell.Run "notepad" ''#can change to winword
Wscript.Sleep 2000
msgbox Chrw(1488) ''#aleph
objShell.SendKeys ("abc" & ChrW(1488) & "abc") ''#bang, it displays a ? instead of an aleph
WScript.Quit
Какие настройки раскладки клавиатуры вы установили, а какие ваши ** языковые настройки для программ, не поддерживающих Unicode **, в региональных и языковых настройках? – Helen
Что касается языков и макетов. Язык Английский Великобритания с макетом English UK. Язык Английский США с раскладкой Английский США. Язык иврит с макетом иврита. Что касается «языка для программ, отличных от юникода», на английском языке США. Я попробовал иврит. В любом случае, msgbox отображает символ-Aleph для msgbox chrw (1488). (он всегда имеет значение). Но когда этот параметр «язык для программ, отличных от юникода» (который требует перезапуска), установлен в США, отображается блокнот? для sendkeys chrw (1488). Когда установлен на иврит, блокнот ничего не отображает для sendkeys chrw (1488). Так же не отображается символ для sendkeys chrw (1488). – barlop
Я отредактировал ваше сообщение, чтобы улучшить форматирование, надеюсь, что вы не против. Если вы не против, не стесняйтесь редактировать назад. – Helen