我有一个VB.NET Windows应用程序,我在其中使用Outlook的联系人作为我的地址簿来获取电子邮件地址列表。我希望它使用Outlook作为通讯簿,但如果尚未设置Outlook邮箱或没有联系人,那么我根本不希望Outlook出现。我遇到的问题是,一旦我尝试访问Outlook,就会出现Outlook启动向导,我不想发生这种情况。这是我的代码:
Dim ao As Outlook.Application
Dim ons As Outlook.NameSpace
Dim Contacts As Outlook.Items
ao = New Outlook.Application
' The Outlook Startup Wizard comes up on this line of code.
ons = ao.GetNamespace("MAPI")
答案 0 :(得分:1)
您可以检查以下注册表项以查看Outlook是否已配置:
“HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Windows \ Messaging Subsystem \ Profiles”
以下代码示例演示了这一点:
Imports Microsoft.Win32
Module Module1
Sub Main()
Console.WriteLine("Outlook Profile Setup?:" + OutlookProfileExists().ToString())
Console.ReadLine()
End Sub
Public Function OutlookProfileExists() As Boolean
Dim rk As RegistryKey = Registry.CurrentUser
Dim sk = rk.OpenSubKey("Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles")
Return sk.SubKeyCount > 0
End Function
End Module
假设已配置,则按正常方式启动并检查联系人列表。无论如何我都无法在不启动它的情况下阅读联系人列表,但至少可以验证它是否已配置。