现在的位置: 首页 > 综合 > 正文

Silverlight 获取Outlook下所有联系人帐号信息

2014年01月03日 ⁄ 综合 ⁄ 共 1126字 ⁄ 字号 评论关闭

要在输入发件人的时候,自动填充上来

那这就要获取Outlook下所有联系信息来

于是在网上找一个资料,不过都是C#写的

现在改为有Silverlight获取联系人信息

上面是我outlook里的写的几个联系人信息

下面就是通过SL获取Outlook里的信息后显示出来的内容

具体代码如下:

private static dynamic outlook;    
private static bool InitializeOutlook()  
{  
    try  
    {  
        //如果当前已经打开了Oulook应用,直接获取。  
        outlook = AutomationFactory.GetObject("Outlook.Application");  
        return true;  
    }  
    catch (Exception)  
    {  
        try  
        {  
            // 启动Outlook应和程序,并显示  
            outlook = AutomationFactory.CreateObject("Outlook.Application");  
            outlook.Session.GetDefaultFolder(6).Display();  
            outlook.ActiveWindow.WindowState = 1; //小窗体模式 minimized  
            return true;  
        }  
        catch (Exception)  
        {  
            // 启动outlook出现在异常,退出,可能是没有安装或其它原因。  
            return false;  
        }  
    }  
}  
public static string GetContact()
{
    if (!InitializeOutlook())
    {
        return "动态创建Outlook.Application失败";
    }
    string contactMessage = string.Empty;
    dynamic myNameSpace = outlook.GetNamespace("MAPI");
    //--> 10 就是 Outlook.OlDefaultFolders.olFolderContacts 的值.
    dynamic myFloder = myNameSpace.GetDefaultFolder(10);
    foreach (var foundContact in myFloder.Items)//遍历Outlook
    {
        contactMessage += string.Format("New contact {0} {1} Email Address is {2} \r\n",
            foundContact.FirstName,					//姓
            foundContact.LastName,					//名
            foundContact.Email1Address); 		//邮件地址
    }

    return contactMessage;
}


环境:

系统是XP

Outlook 2007

Silverlight out of browser

抱歉!评论已关闭.