Что нового

[Баг] Некорректная кодировка кириллицы ControlGetText()

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Версия AutoIt 3.3.10.2.

Открыть блокнот, напечатать в одну строку:
Выполнение приложений
(это текст панели задач Windows 7).
Выполнить скрипт
Код:
MsgBox(0, "", ControlGetText("[class:Notepad]", "", "Edit1"))

Результат: см. вложение.

Что характерно... Если добавить вторую пустую строку, либо добавить пробел в начале или в конце строки, либо убрать какой-либо символ, то возвращённый текст будет в правильной кодировке. Вот ещё некоторые сочетания, определяемые неправильно:
Включить в группу
Сохранять пропорции


Такая же проблема и у AutoIt Window Info.
Пример GUI для проверки AutoIt Window Info - на вкладке "Visible Text" отображается некорректная кодировка, на вкладке "Control" в поле "Text" выводится правильно.
Код:
GUICreate("", 200, 100)
GUICtrlCreateCheckbox("Выполнение приложений", 5, 5)
GUICtrlCreateInput("Включить в группу", 5, 35)
GUICtrlCreateLabel("Сохранять пропорции", 5, 65)
GUISetState()
Do
Until GUIGetMsg() = -3
 
Автор
I

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Спасибо anonymous за созданный тикет http://www.autoitscript.com/trac/autoit/ticket/2626

Ещё я добавил туда подобную проблему с WinGetTitle()
 
Автор
I

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
В релизе 3.3.14.0 ошибка исправлена.
 
Верх