Поделиться через


_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 . вместо этого используйте обходной путь, предложенный в предыдущем примере InitializeMAPI.

Применяется к