Голосование

Нужна ли такая программа?

Да
26 (78.8%)
Нет
7 (21.2%)

Проголосовало пользователей: 33

Голосование закончилось: 07 Декабрь 2015, 12:59:48

Автор Тема: Cheat patcher  (Прочитано 31231 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5106
    • Просмотр профиля
Cheat patcher
« Ответ #150 : 20 Ноябрь 2023, 21:00:51 »
Не открываются файлы с юникод путями, которые с иероглифами и т. п. Нужно на wchar_t перейти.

Ещё можно добавить поддержку длинных путей, хотя программа с ними работает, потому что происходит преобразование в короткий путь, но вроде это только если не отключена поддержка коротких путей (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem - NtfsDisable8dot3NameCreation). Я недавно проверял поддержку длинных путей в winapi, через диалог - правильно, через перетаскивание из Проводника - нет поддержки, возвращается короткий путь, который можно превратить в полный через GetLongPathName(), и не смог понять, я сделал что-то не так или просто нет поддержки. Проводник до сих пор только отображает файлы с длинными путями, но не может создать файл и изменить имя.
UPD: Проверил wxPython (GUI для Python), как и у меня через перетаскивание короткий путь, а также узнал, что перетаскивание на скрипт (1-й аргумент командной строки) тоже короткий. В 7zip не используется GetLongPathName(), но имя файла из длинного пути правильное, значит преобразование по-другому, ещё там не используется WM_DROPFILES, а OLE (RegisterDragDrop(), IDropTarget, ...) и не понял может ли это API возвращать длинный путь.
« Последнее редактирование: 20 Ноябрь 2023, 21:47:05 от Sharpnull »