1

Outlook 2003 の場合、アドレス帳を開き、[ツール] -> [オプション] を選択します。「メールを送信するときは、これらのアドレス リストを次の順序で使用して名前を確認してください。」というオプションを示すアドレス ダイアログが表示されます。

アドレス ダイアログ

ほとんどの人にとって、これには「連絡先」のみが含まれます。企業ネットワークの場合、おそらく「グローバル アドレス リスト」も含まれます。問題は、私の会社では GAL が何万もの大規模であり、電子メールを送信しようとすると名前解決で競合が発生し、別の国の間違った人に送信されることがよくあることです。

代わりに、別の Exchange アドレス リスト "X" をそのリストの一番上に配置して、まず GAL をチェックする前に社内の名前に対して解決したいと考えています。次に、「連絡先」、次に GAL に対して解決します。この構成は、何百もの PC に展開する必要があります。

レジストリ キーをハッキングすることで、自分の PC でこれを行うことができました: HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\your_profile_name\9207f3e0a3b11019908b08002b2a56c2、 Value 11023d05

これには、このリストの項目の ID をリストする REG_BINARY データ構造が含まれています。好みに合わせて並べ替えることができ、Outlook はそれを受け入れます。

GAL および "X" アドレス リストの ID は静的です。ただし、問題は、「連絡先」ID が明らかに静的ではなく、おそらくユーザーやコンピューターに固有のものであることです。その値は、レジストリで検出できないようです。これにより、このレジストリ値をすべての PC に単純にコピーすることができなくなります。

連絡先の名前解決リストをプログラム的に並べ替えることができた人はいますか?

4

3 に答える 3

3

私は過去に会社のためにこれをしました。それは、すべての PC で実行され、このリストを並べ替えた .NET アプリケーションでした。

ここから開始する必要があります。

http://msdn.microsoft.com/en-us/library/bb820991.aspx

于 2008-10-10T20:41:46.417 に答える
1

興味のある方のために、私が作成した MAPI ツールをネイティブ C++ のソースと共にブログで公開しました。楽しみ。

http://www.explodingcoder.com/cms/content/programmatically-updating-outlooks-address-book-options-with-a-command-line-tool

于 2008-10-27T15:28:11.073 に答える