Как найти идентификатор кодовой страницы файла сообщений Outlook (MSG) - PullRequest
1 голос
/ 23 февраля 2012

Я хочу получить идентификатор кодовой страницы , который использовался при написании электронного письма (файл outlook .msg).Свойство, которое содержит эту информацию, PidTagMessageCodepage.Но я не могу найти, как получить к нему доступ с помощью C ++.

Файл сообщения (.msg), который я пытаюсь прочитать, был создан на компьютере с Windows, и языковой стандарт системы был установлен на английский.Это электронное письмо было отправлено в другую систему, системная локаль которой японская ( Кодовая страница Shift-JIS ).Я хочу идентифицировать исходную кодовую страницу из файла сообщений и передать ее по адресу MultiByteToWideChar()

Заранее спасибо.

1 Ответ

2 голосов
/ 24 февраля 2012

Для доступа к этим свойствам вы должны использовать методы Extended MAPI.Для этого в CodeProject есть очень полезная библиотека: MAPIEx .

Если вы не хотите использовать Extended MAPI, вы можете попытаться открыть и обработать данные в MSG-файле напрямую.,Файлы MSG необходимы для составного документа OLE2 http://msdn.microsoft.com/en-us/library/windows/desktop/ms693383(v=vs.85).aspx Файлы, и вы можете напрямую обращаться к их свойствам, используя метод StgCreateStorageEx и другие связанные с ним методы.Чтобы выяснить, какое хранилище или потоки нужно искать, есть несколько приложений, которые поддерживают исследование составных файлов.Просто погуглите.

...