powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Чудеса Windows: ExtTextOutW и USP10.dll
3 сообщений из 3, страница 1 из 1
Чудеса Windows: ExtTextOutW и USP10.dll
    #40088584
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предыстория: понадобилось чуть пропатчить работу одного приложения с буфером обмена: если приложение отображает текст в OEM кодировке, то в буфер обмена кидает в этой кодировке, а тип содержимого устанавливает ANSI и обратно. Для решения проблемы перехватил функции Set/GetClipboardData, а для определения текущей кодировки - ExtTextOutW (опытным путем выяснилось, что этой функцией название кодировки выводится в StatusBar) - все замечательно заработало, но на другой машине всплыла проблема: плагин не смог определять кодировку :(
Просмотр лога показал, что функции ExtTextOutW передается строка, все коды символов в которой уменьшены на 0x1D, а вызов происходит из USP10.dll, в то время как на рабочей машине вызов идет из LPK.dll. Чуйка подсказала, что здесь может быть замешана какая-то тема Windows или что-то в этом роде - переключение темы с аэро-что-то-там на классическую решило проблему, но остался вопрос: для чего сделано такое загадочное поведение и как предсказать, что будет в какой-то другой теме?

ОС - Windows 7 (32 и 64 бита)
...
Рейтинг: 0 / 0
Чудеса Windows: ExtTextOutW и USP10.dll
    #40088714
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура!
Кое-что прояснилось: в ExtTextOut не всегда передается печатаемая строка - иногда передается некая муть, возвращенная GetCharacterPlaceMent, что именно передается определяется параметром Options.
Увы, но пока отследить вызовы GetCharacterPlaceMent почему-то не получилось
...
Рейтинг: 0 / 0
Чудеса Windows: ExtTextOutW и USP10.dll
    #40088736
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока решил проблему вызовом SetWindowTheme(h,' ',' ') с хендлом статусбара.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Чудеса Windows: ExtTextOutW и USP10.dll
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]