2010-03-05 6 views
1

그래, C# 응용 프로그램에서 Outlook Interop 어셈블리를 사용하여 .PST 파일을 식별하는 데 문제가 없습니다. 그러나 암호로 보호 된 파일을 누르 자마자 암호를 묻는 메시지가 나타납니다. 조직에서 PST를 사용하지 않도록 설정하는 중입니다. 단계 중 하나는 사용자의 Outlook 프로필에서 PST 파일을 언로드하는 것입니다. 이 앱을 자동으로 실행하고 사용자에게 메시지를 표시하지 않아야합니다. 어떤 아이디어? UI가없는 Outlook.Application 개체를 만든 다음 암호로 보호 된 파일에 Exception을 catch하려고 시도 할 수 있습니까?Outlook Interop : 암호로 보호 된 PST 파일의 두통

// 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

예, 다른 앱에서 Outlook을 자동화 할 수 있습니다. NameSpace 개체에 Logon 메서드가 있으므로 프로필에 로그온하면 원하는 모든 작업을 수행 할 수 있습니다. 하지만 자동으로 프롬프트가 다시 나타날 것이라고 생각합니다. 대신 mapi를 통해 수행하는 것처럼이 작업을 수행하는 데 도움이되는 세 번째 라이브러리가 있습니다. 체크 아웃 profman.dll redemption libray

0

@Ed Manet - 내가 게시 한 코드를 살펴보십시오 here. 우리는 내 환경에서 비슷한 것을하고 있습니다. 이것이 제가 현재 사용하고있는 것입니다. 예, 아마도 약간의 정제 작업을 할 수 있지만, 현재는 ti가 작동하며 두 유형의 PST 파일을 모두 식별합니다.

관련 문제