MAPILogonEx() - профайл не по умолчанию
От: sosna  
Дата: 29.05.06 16:42
Оценка:
Здравствуйте, подскажите пожалуйста как быть в такой ситуации:
профайл почтого клиента стоит не по умолчанию(вроде как) и функция

 hRes = MAPILogonEx(0,
      NULL,//profile name
      NULL,//password - This parameter should ALWAYS be NULL
      MAPI_LOGON_UI | MAPI_SERVICE_UI_ALWAYS , //Not allow a profile picker box to show if not logged in
      &lpMAPISession);//handle of session

Возвращает не валидный hRes...
Т.е. не логинится...Как поступить в таком случае?
Я не знаю получиться ли через реестер

  LONG IRes = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows Messaging Subsystem\\Profiles\\", 0, KEY_READ, &hKey);
   if(IRes == ERROR_SUCCESS)
{
    DWORD dwType = 0;
    DWORD dwCount = 0;
    IRes = RegQueryValueEx(hKey, "DefaultProfile", NULL, &dwType, NULL, &dwCount);
    LPSTR lpszDataBuf = (LPSTR)malloc(dwCount *sizeof(char));
    IRes = RegQueryValueEx(hKey, "DefaultProfile", NULL, &dwType, (LPBYTE)lpszDataBuf, &dwCount);
    strProfileName = lpszDataBuf;
    free(lpszDataBuf);
    RegCloseKey(hKey);
    
}

Ведь там скорее лежат дефолтные профайлы...Или вообще все???
Подскажите пожалуйста, а то сам попробовать не могу, у меня все по дефолту, как поменять не знаю, а надо устроить сессию с недефолтом
Re: MAPILogonEx() - профайл не по умолчанию
От: sosna  
Дата: 30.05.06 17:58
Оценка:
Товарищи, кто ведает в MAPI подскажите пожалуйста, как за логитса, очень надо решить данный вопрос! Заранее благодарен.
Re: MAPILogonEx() - профайл не по умолчанию
От: Феофан Грек  
Дата: 31.05.06 11:23
Оценка:
Здравствуйте, sosna, Вы писали:


S> "Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows Messaging Subsystem\\Profiles\\"

S>Ведь там скорее лежат дефолтные профайлы...Или вообще все???

В этой ветке реестра лежат все профайлы. Я только не понял, зачем они вам.

MAPILogonEx позволяет логониться либо к дефолтному профайлу, либо к конкретному профайлу (если задать его имя и пароль), либо пользователь может выбрать профайл из стандартного UI. Что вам не хватает в этих возможностях?

S>Подскажите пожалуйста, а то сам попробовать не могу, у меня все по дефолту, как поменять не знаю, а надо устроить сессию с недефолтом


Если у Вас Outlook, то control panel -> mail -> Show Profile. Заводите себе несколько профайлов, выбираете один из них дефолтным.
Re[2]: MAPILogonEx() - профайл не по умолчанию
От: pullover  
Дата: 31.05.06 11:39
Оценка:
Здравствуйте, sosna, Вы писали:

S>Товарищи, кто ведает в MAPI подскажите пожалуйста, как за логитса, очень надо решить данный вопрос! Заранее благодарен.


попробуй так:
MAPILogonEx((ULONG)hWnd, NULL, NULL, MAPI_NEW_SESSION | MAPI_EXTENDED | MAPI_LOGON_UI, &pSession)



MAPI_EXTENDED
Log on with extended capabilities. This flag should always be set. The older MAPILogon function is no longer available.
MAPI_NEW_SESSION
An attempt should be made to create a new MAPI session rather than acquire the shared session. If the MAPI_NEW_SESSION flag is not set, MAPILogonEx uses an existing shared session even if the lpszprofileName parameter is not NULL.

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.