Я не уверен в этом конкретном случае (я никогда не сталкивался с локализованными именами файлов в этой форме), но я знаю единственный официально поддерживаемый способ получения локализованных имен файлов для системных каталогов, стандартных апплетов Windows и т. Д.,использовать IShellFolder :: GetDisplayNameOf.
Итак, вкратце, вам нужно получить PIDL для файла (SHParseDisplayName), связать его с родительской папкой (SHBindToParent), а затем запросить отображаемое имя с помощью флага SHGDN_INFOLDER.
Приложение. Еще более простой способ (о котором я полностью забыл) - использовать SHGetFileInfo для получения отображаемого имени с флагом SHGFI_DISPLAYNAME.Это означает, что вам не нужно возиться с PIDL.SHGetFileInfo, по сути, является оболочкой для различных COM-классов оболочки, таких как IShellFolder. В любом случае, ключом является использование оболочки для получения отображаемого имени, а не базовых функций API.