VSTO Outlook アドインを作成するとき、少し煩わしい制限がいくつかあります。たとえば、メール リンクをクリックして Outlook を起動した場合、セキュリティ上の理由からアドインは読み込まれません。
この動作をオーバーライドする方法はありますか? VSTO を使用せずにアドインを作成する別の方法でしょうか? 私の記憶が正しければ、VSTO とは異なるテクノロジを使用してアドインを作成する方法がありますが、どのテクノロジとどのような違いがありますか?
違う。Mailto リンクは、OS のカバーの下で Outlook を呼び出す別の方法を使用しています。Mailto は、OS 呼び出しを介して MAPI サブシステムを直接呼び出します。これにより、Outlook がトリガーされます (これがデフォルトの MAPI クライアントになるため)。
Outlook 内で [新規] ボタンを使用している場合、Outlook OM コードを使用していて、アドインが既に読み込まれています。
ここでの主な違いは単純です。Outlook は既に読み込まれています。VSTO を使用してこのシナリオをターゲットにすることはできますが、起動時に確実に読み込む必要があるだけです。メッセージ (アクティブなインスペクターが「追加されました」) が表示されたときにのみ VSTO コンポーネントを追加している場合、このシナリオでは遅すぎます。アドインが起動時に読み込まれるように設定されていますか?
アドインを作成するための、より古い、より面倒な方法がありますが、それらが問題を解決するとは思えません。私が見て使用した解決策は、ActiveExplorer を取得できるかどうかを検出し、そうでない場合は、ユーザーにプログラムを通常どおり起動するように指示することです。
これを行う例は、Codeplex の Outlook Attachment Reminder ソースのソースで確認できます。
http://www.codeplex.com/OAR/Release/ProjectReleases.aspx?ReleaseId=22094
マクロは別の方法です...
Codeplex の上記は VSTO を使用しています。
Kevin が述べたように、アドインがロードされていない理由を突き止める必要があります... 上記のアドインでは、アクティブなエクスプローラーがあるたびにメニューが作成されます...