好的,使用C#app中的Outlook Interop程序集识别.PST文件没有问题。但是当我点击受密码保护的文件时,系统会提示我输入密码。 我们正在禁用组织中PST的使用,其中一个步骤是从用户的Outlook配置文件中卸载PST文件。 我需要让这个应用程序静默运行,而不是提示用户。有任何想法吗?有没有办法在没有UI的情况下创建Outlook.Application对象,然后尝试在受密码保护的文件上捕获异常?
// create the app and namespace
Application olApp = new Application();
NameSpace olMAPI = olApp.GetNamespace("MAPI");
// get the storeID of the default inbox
string rootStoreID = olMAPI.GetDefaultFolder(OlDefaultFolders.olFolderInbox).StoreID;
// loop thru each of the folders
foreach (MAPIFolder fo in olMAPI.Folders)
{
// compare the first 75 chars of the storeid
// to prevent removing the Inbox folder.
string s1 = rootStoreID.Substring(1, 75);
string s2 = fo.StoreID.Substring(1, 75);
if (s1 != s2)
{
// unload the folder
olMAPI.RemoveStore(fo);
}
}
olApp.Quit();
答案 0 :(得分:0)
是的,您可以从其他应用自动化Outlook。 在NameSpace对象上有一个Logon方法,以便您可以登录到配置文件,然后您可以执行任何您想要的操作。但我认为它只会再次弹出提示,因为它自动化但是..有一个第三个libray可以帮助你做这个,因为它通过mapi而不是。在redemption libray
中checkout profman.dll