Наше приложение вызывает ShGetFolderPath при запуске, чтобы получить папку «Мои документы».Это нормально работает отлично.Однако для трех пользователей - Дмитрия, Йорга и Йоргена (посмотрите, сможете ли вы найти шаблон!) - вызов возвращает некоторые очень странные результаты.Например, для Дмитрия вызов возвращается:
c:\Users\???????\Documents
Я предполагаю, что здесь происходит какая-то кодировка символов shenanigan, возможно связанная с Unicode, но я не имею никакого опыта в подобных вещах,Как я могу получить полезный путь к папке (и другим связанным папкам) из окон, не копаясь в ключах реестра для получения информации?
В письме мне Дмитрий ("Дмитрий") сказал мнеего папка «Мои документы» фактически находилась здесь:
C:\Users\43D6~1\Documents
Так что я знаю, что есть способ получить «нормальную» версию пути из Windows, я просто не знаю, что это.
Справочная информация. Наше приложение не поддерживает Unicode и использует стандартные строки "char *".Как мы можем получить «нормальный» путь?Я не против того, чтобы вызывать «юникодную» версию функции, а затем конвертировать ее в «обычный» текст, если это возможно.Конвертировать приложение полностью для использования Юникода здесь не вариант (у нас нет времени).
Спасибо.