3

バックグラウンド:

私は、アイテムをドラッグできるようにし、それらに対して実行時間の長いプロセスを呼び出すアプリケーションを設計中です。アイテムは通常、ファイル システムと Outlook からドラッグされます。私の懸念は後者です。

メッセージ (または複数) が Outlook からアプリケーションにドラッグされたかどうか、およびメッセージ ID が何であるかを確認するために Outlook に接続するにはどうすればよいですか?

Outlook オブジェクト モデルにはそのようなドラッグ アンド ドロップ イベントがなく、1 つの解決策はWindows メッセージをリッスンすることであることを理解しています。相互運用に関する知識が不足しているため、これはチームでは実行できません。

このアプリケーションの開発には、Visual Studio 2010 で C# 4.0 を使用します。

4

2 に答える 2

1

一般的なドラッグ アンド ドロップ インターフェイスMailItem.EntryIDを使用して、Outlook から直接にアクセスすることはできません。IDataObjectMSG データにアクセスするだけの場合は、この CodeProject の例を使用できます。MSG がディスク (またはクリップボード、ドラッグ アンド ドロップなど) にコピーされると、EntryID.

私が知っている にアクセスする唯一の方法EntryIDは、VSTOを使用し、 を使用してActiveExplorer().Selection、ドロップ アクション時にどの項目が選択されているかを確認することです。ドラッグ アンド ドロップ コマンド中に、選択したメッセージの本文にアクセスする例を次に示します。一般的なパターンが使用されていることを確認すると、多数の例を見つけることができるはずです。

于 2012-05-21T13:19:28.367 に答える