1

電子メール (outlook .msg ファイル) を作成するときに使用されたコード ページ IDを取得したい。この情報を保持するプロパティは ですPidTagMessageCodepage。しかし、C++ でアクセスする方法が見つかりません。

読み取ろうとしているメッセージ ファイル (.msg) は Windows マシンで作成されたもので、システム ロケールは英語に設定されています。このメールは、システム ロケールが日本語 ( Shift-JIS Code Page ) の別のシステムに送信されました。メッセージファイルから元のコードページを特定して渡したいMultiByteToWideChar()

前もって感謝します。

4

1 に答える 1

2

これらのプロパティにアクセスするには、拡張MAPIメソッドを使用する必要があります。そのための非常に便利なライブラリがCodeProject、MAPIExにあります。

拡張MAPIを使用したくない場合は、.msgファイルのデータを直接開いて処理しようとする可能性があります。.msgファイルは基本的にOLE2複合ドキュメントhttp://msdn.microsoft.com/en-us/library/windows/desktop/ms693383(v=vs.85).aspxファイルであり、メソッドを使用してそれらのプロパティに直接アクセスできます。 StgCreateStorageExおよびそれに関連するその他。検索する必要のあるストレージまたはストリームを見つけるために、複合ファイル探索をサポートするアプリケーションがいくつかあります。ただググってください。

于 2012-02-23T22:18:22.620 に答える