Есть 2 залогиненный пользователя, пользователь 1 с паролем, пароль ествественно узнать проблематично, возможно ли от его 1 пользователя выполневшего вход запустить что то в сессии 2 пользователя на той же машине. Например cmd. Пока на win xp. У меня идеи закончились, жду вашей помощи...
klkvitaliy А попробуйте открыть regedit и посмотреть как реализован пункт меню "Запуск от имени администратора"
Для тех кто столкнулся с этой задачей вот при мер ее решения SS>#include "stdafx.h" SS>#include <windows.h> SS>#include <WtsApi32.h> SS>int Error(const char* msg) SS>{ SS> printf("Failure: %s. LE: 0x%x", msg, GetLastError()); SS> return 1; SS>} SS>int _tmain(int argc, _TCHAR* argv[]) SS>{ SS> DWORD sourceSession = 0; SS> DWORD destinationSession = 1; SS> LPTSTR programToRun = TEXT("cmd.exe"); SS> HANDLE userToken; SS> if (!WTSQueryUserToken(sourceSession, &userToken)) SS> return Error("Failed to get user token"); SS> if (!DuplicateHandle(GetCurrentProcess(), userToken, GetCurrentProcess(), &userToken, SS> TOKEN_WRITE | TOKEN_ADJUST_SESSIONID | TOKEN_QUERY | TOKEN_DUPLICATE | TOKEN_ASSIGN_PRIMARY, SS> FALSE, DUPLICATE_CLOSE_SOURCE)) SS> return Error("Failed to gain more access to token"); SS> if (!SetTokenInformation(userToken, TokenSessionId, (LPVOID)&destinationSession, sizeof(destinationSession))) SS> return Error("Failed to set session id"); SS> STARTUPINFO si = {sizeof(si)}; SS> PROCESS_INFORMATION pi; SS> if (!CreateProcessAsUser(userToken, NULL, programToRun, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) SS> return Error("Failed to create process"); SS> return 0; SS>} SS>