Запустите конкретный сеанс Windows в заставку

У меня есть заставка C# на интерфейсе аутентификации (Windows 7 и 8.x). Заставка является WebBrowser кто показывает RSS, картинки... и две кнопки. Я использую провайдер учетных данных pGina. Определенный параметр позволяет создавать локальный профиль для не локального пользователя.

Вторая кнопка закрывает экранную заставку и позволяет пользователю записать свое имя пользователя и пароль (не локальную учетную запись, поэтому я использую pGina) в провайдер учетных данных pGina. Работает отлично.

Для первой кнопки "Гость" я хочу запустить сеанс, когда я нажимаю на кнопку без ввода имени пользователя и пароля в провайдере учетных данных, но в коде заставки перед закрытием.

Событие правильно сработало. Моя проблема - запустить сеанс для гостя. Я прочитал исходный код pGina для входа в систему локального пользователя (L.257) и перевел его в код C#, но не работал...

bool retVal;
IntPtr hproc = GetCurrentProcess(), htok = IntPtr.Zero, ptUser = new IntPtr();
TokPriv1Luid tp;
retVal = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok);
tp.Count = 1;
tp.Luid = 0;
tp.Attr = SE_PRIVILEGE_ENABLED;
if (LookupPrivilegeValue(null, SE_TIME_ZONE_NAMETEXT, ref tp.Luid)){
     if (AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero)){
         if(!LogonUser("USER", "USERDOMAIN", "PASSWORD", 
            LogonType.LOGON32_LOGON_INTERACTIVE, 
            LogonProvider.LOGON32_PROVIDER_DEFAULT, 
            out ptUser))
                MessageBox.Show(Marshal.GetLastWin32Error().ToString());
     }
}

LogonUser вернуть true, но ничего не происходит... Я также пробовал разные значения LogonType,

Я прочитал эту ссылку, это именно то, что я делаю в VB.

Я проверил Marshal.GetLastWin32Error после LogonUser возвращает 0 "Операция успешно завершена".

РЕДАКТИРОВАТЬ: я нашел это много раз об использовании LogonUser для входа в Windows: "Нет, вы не можете, использование LogonUser() является лишь одним из многих шагов в процессе входа в систему"

Я все еще ищу информацию о других шагах, но у кого-то есть идея или другое решение для меня?

0 ответов

Другие вопросы по тегам