0

C# で Outlook アドインを開発していますが、フォルダー (受信トレイ、送信済みなど) から開かれたメールと、スタンドアロンの .msg ファイルから開かれたメールを区別するのに問題があります。

親プロパティを調べてみましたが、両方の種類の受信トレイが表示されます。

そこに何かアイデアはありますか?

/サム

4

1 に答える 1

1

プロパティを調べると、MailItem がファイル システムから開かれている場合は .EntryID プロパティが空白であり、ファイルがフォルダー内から開かれている場合は値があるように見えます。これは、そのヘルプ エントリに基づいて理にかなっています。1 つの注意点は、メッセージが新しいメッセージの場合 (つまり、フォルダーに保存されておらず、ファイル システムにも存在しない場合)、このプロパティが空白であることを期待することです。

空白値に関するヘルプから:

したがって、EntryID プロパティは、Outlook アイテムが保存または送信されるまで設定されません。

実装する前に、実験して正しく動作することを確認してください:)

それがすべて失敗すると、次のステップは複雑になる可能性があります。1 つの方法は、Outlook によって開かれたハンドルを調べることです。Process Explorerを介して (特権のないコンテキストで) それらを調べると、各メッセージのハンドルがあることがわかります。ハンドルの名前はメッセージの件名と一致し、パスはファイルのパスです。これらを列挙する 1 つの解決策は、この回答にあります。

HTH、ジェフ

于 2010-09-10T14:06:27.870 に答える