要在输入发件人的时候,自动填充上来
那这就要获取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;
}
环境:
系统是XPOutlook 2007
Silverlight out of browser