_NameSpace.Logon(Object, Object, Object, Object) 方法

定义

使用户登录到 MAPI,获取 MAPI 会话。

public void Logon (object Profile, object Password, object ShowDialog, object NewSession);
Public Sub Logon (Optional Profile As Object, Optional Password As Object, Optional ShowDialog As Object, Optional NewSession As Object)

参数

Profile
Object

MAPI 配置文件名称,作为 C#) 中的 字符串 (字符串 ,用于会话。 指定要用于当前会话的默认配置文件为空字符串。

Password
Object

如果有任何) ,则密码 (,作为 C #) 中的 字符串 (字符串 ,与配置文件相关联。 此参数存在仅用于向后兼容性和出于安全原因,建议不要使用。 Microsoft Outlook 将提示用户在大多数系统配置中指定密码。 这是您的登录密码,不应该混淆与 PST 密码。

ShowDialog
Object

True 指示显示的 MAPI 登录对话框,以允许用户选择的 MAPI 配置文件。

NewSession
Object

True 时创建新的 Outlook 会话。 由于不能在 Outlook 中创建多个会话,此参数应指定为仅当不存在会话,则返回 True。

注解

Logon方法仅可用于登录到特定的配置文件时 Outlook 未运行。 这是因为只有一个 Outlook 进程可以运行一次,并且 Outlook 进程使用一个配置文件,并支持只有一个 MAPI 会话。 当用户再次启动 Outlook 时,Outlook 的实例在同一 Outlook 进程中运行,不会创建新进程,并且使用相同的配置文件。

如果尚未运行 Outlook,使用这种方法不创建新的 Outlook 会话或更改为一个不同的当前配置文件。

如果 Outlook 未运行,并且您只想使用默认的配置文件启动 Outlook,请使用 Logon方法。 以下代码示例 InitializeMAPI 中显示了更好的替代方法:首先,实例化 Outlook Application 对象,然后引用默认文件夹(如收件箱)。 这有不利的一面,初始化 MAPI 使用默认配置文件,并使对象模型完全正常。

Imports Outlook = Microsoft.Office.Interop.Outlook

Sub InitializeMAPI ()

    ' Start Outlook.
    Dim olApp As Outlook.Application
    Set olApp = CreateObject("Outlook.Application")

    ' Get a session object. 
    Dim olNs As Outlook.NameSpace
    Set olNs = olApp.GetNamespace("MAPI")

    ' Create an instance of the Inbox folder. 
    ' If Outlook is not already running, this has the side
    ' effect of initializing MAPI.
    Dim mailFolder As Outlook.Folder
    Set mailFolder = olNs.GetDefaultFolder(olFolderInbox)

    ' Continue to use the object model to automate Outlook.
End Sub

从 Outlook 2010 开始,如果有多个配置文件,已将 Outlook 配置为始终使用默认配置文件,并且使用 Logon 方法登录默认配置文件而不提示用户,则用户仍然会收到选择配置文件的提示。 若要避免此行为,请不要使用 Logon 方法;请改用前面的 InitializeMAPI 示例中建议的解决方法。

适用于