Я создал модуль, который создает окно с полем редактирования из окна «EDIT windowclass». Он предназначен только для работы с набором символов ansi и без использования какого-либо юникода.Формирование элемента управления ANSI вместо управления редактированием comctl32
Я использую EM_GETHANDLE, чтобы получить буфер для элемента управления редактированием.
Теперь вот моя проблема: (цитата из указанной выше ссылке)
Note For Comctl32.dll version 6, the buffer always contains an array of WCHARs, regardless of whether an ANSI or Unicode function created the edit control. For more information on DLL versions, see Common Control Versions.
Так что, когда мой модуль загружается приложением, которое COMCTL32 инициализирован, весь мой код перерывов.
Мой вопрос: Есть ли способ предотвратить использование CreateWindowA для comclt32 или у кого-нибудь есть идея исправить эту проблему?
Ваш ответ на предупреждение приведен в цитированном тексте. Что такого сложного в Unicode, особенно если вы все равно не собираетесь его поддерживать? Просто выбросьте или проигнорируйте то, что вы не можете обработать или еще лучше, но дайте пользователю сообщение об ошибке, когда они вводят то, что вы не хотите обрабатывать, например. не-ASCII-символы. –