Форум программистов, компьютерный форум CyberForum.ru

Авторизация пользователя через MsGina - Userinit.exe - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как с помощью класса 'Cximage' вывести на экран JPG файл? (-) http://www.cyberforum.ru/cpp-beginners/thread493392.html
Помогите пожалуйста...
C++ Как отследить результат выполнения "cmd dir"? Здорово, народ! У меня такая проблема: например я функцией WinExec() или ShellExecute() запускаю допустим команду 'dir' - так вот как мне результат выполнения данной команды (т.е. полившийся список файлов) направить допустим в переменную? Надеюсь, доходчиво объяснил :) http://www.cyberforum.ru/cpp-beginners/thread493390.html
C++ ::GetDlgItem : разные значения в замисимости от ОС
::GetDlgItem : разные значения в замисимости от ОС Как известно, IDC_STATIC = (-1), так вот, вызывая ф-ю ::GetDlgItem(... , IDC_STATIC), где IDC_STATIC переменная, от которой надо взять HWND, ХР выдает валидный HWND (по крайней мере !=0), а, например, Win98, выдает 0. ПОЧЕМУ??? А теперь откуда возник вопрос: может кто сталкивался с проблемой, 'Access Violation at adress XXXXXX, file...
C++ Внимание! Интересная высокооплачиваемая работа для программиста.
Компании занимающейся выпуском высокотехнологичной продукции требуется программист для выполнения следующей работы: 1. Необходимо разработать метод сравнения двух произвольных изображений (например, корреляционным способом) размером не более 600х600 точек. Результатом сравнения должен быть процент соответствия изображений, при этом одно изображение от другого может отличаться всем набором...
C++ Ошибка: IdSMTP1->QuickSend(Host, Subj, To, From, TextMess); IdSMTP1->Disconnect(); http://www.cyberforum.ru/cpp-beginners/thread493281.html
AnsiString Host = '10.10.102.160'; AnsiString To = 'gg@tel.net'; AnsiString From = 'pp@tel.net'; AnsiString Subj = 'Hello!'; AnsiString TextMess = 'Test'; IdSMTP1->Connect(); IdSMTP1->Host = '10.10.102.160'; IdSMTP1->Password = '123456'; IdSMTP1->Port = 25;
Visual C++ Таймер в MFC Здравствуйте. Такая ситуация: Я хочу читать построчно файл и выводить строки в ListBox (при нажатии на кнопку). Но не через одно время(как это предусмотрено в таймере) А, скажем, первую строку через 5 сек. Вторую через 10 и т д. Я делаю так: void CMytimeDlg::OnTimer( UINT uTime) { подробнее

Показать сообщение отдельно
DmSK
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 13

Авторизация пользователя через MsGina - Userinit.exe - C++

07.03.2011, 18:27. Просмотров 738. Ответов 0
Метки (Все метки)

Друзья!
Последние дни занят поиском решения одной проблемы.
Хочу поделиться:

Написал работоспособную MsGina2.dll в замен стандартной. Работает.
Следующей задачей заменил стандартную функцию pWinlogonFunctions->WlxLoggedOutSAS на LogonUser, которую на самом деле инкапсулирует(скрывает) выше упомянутая функция WlxLoggedOutSAS. Работает.

А вот заменить pWinlogonFunctions->WlxActivateUserShell роблема т.е. на CreateProcessAsUser, которую на самом деле скрывает WlxActivateUserShell. Вылетает ошибка при след. коде:
Что в коде не так?

Код
BOOL WINAPI WlxActivateUserShell(PVOID pWlxContext, PWSTR..........
{
....
GetProfileString(WINLOGON_APP, USERINIT, USERINIT_DEFAULT, chText, MAX_PATH);

	StartCount = 0;
	strcpy(chScan, strtok(chText, ','));

	while (chScan)
    {
        ZeroMemory(&si, sizeof(si));
        si.cb = sizeof(STARTUPINFO);
        si.lpTitle = chScan;
        si.dwX = si.dwY = si.dwXSize = si.dwYSize = 0L;
        si.dwFlags = 0;
        si.wShowWindow = SW_SHOW;   // at least let the guy see it
        si.lpReserved2 = NULL;
        si.cbReserved2 = 0;
        si.lpDesktop = (char*) pszDesktopName;

        ImpersonateLoggedOnUser(hTokenT);

        if (CreateProcessAsUser(hTokenT,			
                            NULL,                   
                            chScan,                 // Command Line -
                                                    // pathUserinit.exe
                            NULL,                   
                            NULL,                   
                            FALSE,                  
                            CREATE_UNICODE_ENVIRONMENT,
                            pEnvironment,
                            NULL,
                            &si,
                            &pi))
        {
            StartCount++;
            CloseHandle(pi.hProcess);
            CloseHandle(pi.hThread);
        }

        RevertToSelf();

        strcpy(chScan, strtok(NULL, ','));
    }

return ..
}
.

.Спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru