Я использую Outlook Interop для итерации по всем учетным записям:
var app = Marshal.GetActiveObject("Outlook.Application") as Microsoft.Office.Interop.Outlook.Application;
Microsoft.Office.Interop.Outlook._NameSpace _sessionNs = app.GetNamespace("MAPI");
foreach (Account account in _sessionNs.Accounts)
{
if (account != null)
{
var addressAccount = account.SmtpAddress;
//TODO How to check if is default?
}
}
Я не нашел ни одного свойства или чего-либо другого в объекте Account, чтобы проверить, является ли это учетной записью по умолчанию.Я пытаюсь сравнить account.Session.CurrentProfileName с app.DefaultProfile, но это профиль по умолчанию, и я хочу это для того же профиля с разными учетными записями.Также я попробовал GetDefaultFolder (FolderType: OlDefaultFolders.olFolderInbox), но это не изменилось, если я изменил значение по умолчанию в Outlook.
Любые идеары?