Когда в Outlook 2003 откройте адресную книгу, выберите Сервис-> Параметры. Вы получите диалоговое окно с указанием адреса параметра «При отправке почты, проверьте имена, используя эти списки адресов в следующем порядке:»Как программно обновить порядок разрешения имен контактов Outlook
Для большинства людей это будет содержать только «Контакты». Для корпоративных сетей он, вероятно, также будет содержать «Глобальный список адресов». Проблема в том, что в моей компании GAL много десятков тысяч больших, и обычно бывает, что конфликты возникают при разрешении имен при попытке отправить электронную почту, и это идет не тому человеку в другой стране.
Вместо этого я хотел бы разместить отдельный список адресов Exchange «X» в верхней части этого списка, чтобы сначала разрешить имена в нашей собственной компании перед проверкой GAL. Затем разрешите «Контакты», затем GAL. Эта конфигурация должна быть развернута на многие сотни компьютеров.
Я смог сделать это на своем собственном компьютере, взломав ключ реестра: HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\your_profile_name\9207f3e0a3b11019908b08002b2a56c2
, Value 11023d05
.
Это содержит структуру данных REG_BINARY, в которой перечислены идентификаторы элементов этого списка. Я могу переупорядочить их по своему вкусу, и Outlook принимает его.
Идентификаторы списка адресов GAL и "X" являются статическими. Однако проблема заключается в том, что идентификатор «Контакты», по-видимому, не является статичным, возможно, уникальным для пользователя и/или компьютера. Его значение, как представляется, не может быть обнаружено в реестре. Это не позволяет мне просто копировать это значение реестра на все ПК.
Кто-нибудь мог прогаммически изменить порядок имен имен контактов?
Спасибо. Используя этот пример, я смог создать собственный проект на C++, чтобы выполнить эту работу. – spoulson 2008-10-15 17:53:28