CreateProcessAsUser
От: enola  
Дата: 26.08.05 07:40
Оценка:
Добрый день!
Народ помогите решить проблему:
Выдает ошибку: 1314, короче ему привилегий не хватает. Как это можно решить. Поиском искал, много чего нашел, а вот толкового ответа не нашел.


HANDLE hToken;
if( !LogonUser( "user",
                "domen",
                "pass",
                LOGON32_LOGON_SERVICE,
                LOGON32_PROVIDER_DEFAULT,
                &hToken)){
  LPVOID lpMsgBuf;
  FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
                 NULL,
                 GetLastError(),
                 MAKELANGID(LANG_NEUTRAL, 
                 SUBLANG_DEFAULT),
                 (LPTSTR) &lpMsgBuf,
                 0,
                 NULL);
  ShowMessage( StrPas( ( LPSTR)lpMsgBuf));
  LocalFree( lpMsgBuf );
}
STARTUPINFO si;
ZeroMemory( &si, sizeof( si));
si.cb = sizeof( si);
si.wShowWindow = SW_HIDE;
PROCESS_INFORMATION pi;
if( !CreateProcessAsUser( hToken,
    "notepad.exe",
    "notepad.exe", // 10 ??????
    NULL,
    NULL,
    false,
    CREATE_NEW_CONSOLE | HIGH_PRIORITY_CLASS,
    NULL,
    NULL,
    &si,
    &pi)){
    LPVOID lpMsgBuf;
    FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
    NULL,
    GetLastError(),
    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), 
    (LPTSTR) &lpMsgBuf,
    0,
    NULL);
    ShowMessage( StrPas( ( LPSTR)lpMsgBuf));
    LocalFree( lpMsgBuf );
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.