Как программно обновить порядок разрешения имен контактов в Outlook - PullRequest
1 голос
/ 11 октября 2008

В Outlook 2003 откройте адресную книгу, выберите Сервис-> Параметры. Появится диалоговое окно с адресом, показывающим опцию «При отправке почты проверяйте имена, используя эти списки адресов в следующем порядке:»

Address dialog

Для большинства людей это будет содержать только «Контакты». Для корпоративных сетей он также может содержать «Глобальный список адресов». Проблема в том, что в моей компании глобальный список адресов составляет десятки тысяч, и при попытке отправить электронное письмо часто возникают конфликты в разрешении имен, и он переходит не тому человеку в другой стране.

Вместо этого я хотел бы разместить отдельный список адресов Exchange "X" в верхней части этого списка, чтобы сначала сопоставить имена в нашей собственной компании перед проверкой GAL. Затем решите против "Контакты", а затем GAL. Эту конфигурацию необходимо будет развернуть на многих сотнях ПК.

Я смог сделать это на своем ПК, взломав ключ реестра: HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\your_profile_name\9207f3e0a3b11019908b08002b2a56c2, значение 11023d05.

Содержит структуру данных REG_BINARY, в которой перечислены идентификаторы элементов этого списка. Я могу изменить их порядок по своему вкусу, и Outlook принимает его.

Идентификаторы списка адресов GAL и «X» являются статическими. Однако проблема заключается в том, что идентификатор «Контакты», по-видимому, не является статичным, возможно, уникальным для пользователя и / или компьютера. Похоже, его значение в реестре невозможно обнаружить. Это не позволяет мне просто скопировать это значение реестра на все ПК.

Кто-нибудь смог программно переупорядочить список разрешения имен контактов?

Ответы [ 3 ]

3 голосов
/ 11 октября 2008

Я делал это для компании в прошлом. Это было приложение .NET, которое запускалось на каждом ПК и переупорядочивало этот список.

Это то, с чего вам нужно начать:

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

1 голос
/ 27 октября 2008

Для тех, кто заинтересован, я опубликовал инструменты MAPI, которые я создал, в своем блоге с исходным кодом на родном C ++. Наслаждайтесь.

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

0 голосов
/ 19 июля 2013

На уровне Extended MAPI вы можете использовать IAddrBook.SetSearchPath (только C ++ или Delphi)

Если вы можете использовать опцию Redemption (которая поддерживает практически все языки, включая все языки .Net), вы можете использовать RDOSession.AddressBook.SearchPath для доступа или манипулирования порядком пути поиска в адресной книге - см. http://www.dimastr.com/redemption/RDOAddressBookSearchPath.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...