Открывайте почту в outlook из C#, используя протокол "mapi://"

Я хочу выполнить URL в формате
mapi://{S-1-5-21-1626573300-1364474481-487586288-1001}/toto@mycompany.com($b423dcd5)/0/Inbox/가가가가곕갘객겒갨겑곓걌게겻겨곹곒갓곅갩갤가갠가, который я получил от поиска через Windows Desktop Search.

В Vista с Outlook 2007 не удается открыть электронную почту, если Outlook уже открыт. За исключением иногда, когда это работает по таинственным причинам.


Ниже приведены некоторые вещи, которые я пробовал в попытке заставить это работать:

Выполнение с Process.Startили выполнить его с Process.Start через cmd.exe / c запустить. Бывший застыл на минуту, потом ничего не сделал, с Process.Start возвращает ноль (кроме случаев, когда Outlook еще не был открыт, когда он работал). Последний выдал сообщение "Unspecified Error".

Открывайте почту в outlook из java, используя протокол "mapi://"
Я не мог понять, как заставить этот скрипт работать. Сгенерированные мной скрипты vbs утверждают, что нашли недопустимые символы. Кроме того, это решение меня огорчает.

http://social.msdn.microsoft.com/forums/en-US/windowsdesktopsearchdevelopment/thread/00491710-e245-452f-8b0a-56caa56277e4/ Я подозреваю, что это решение будет работать. Тем не менее, я не мог заставить его работать в C++ или C# из-за ошибок компилятора. Это вопрос неуверенности, какие библиотеки включить или в C#, как эффективно использовать ShellItem2 и т.д. с взаимодействием.

Создание ярлыка приложения в каталоге Я попытался создать ярлык и вызвать Process.Start на что. Это также не сработало, хотя сам ярлык работал, когда я дважды щелкнул по нему.

1 ответ

Решение

Оказывается, проблема была проблемой UAC. Я склонен запускать VS от имени администратора, поскольку некоторые приложения нуждаются в этом.

Другие вопросы по тегам