Здравствуйте. Как на С++ сделать так, чтобы при запуске программы вылетало окошко "запуск от имени"... само. Я знаю так можно сделать.
Ты наверное имел ввиду CreateProcessAsUser. Но тогда С++ тут не при чём. PS или CreateProcessWithLogonW. read msdn!
Нет, наверное он имел в виду чтобы сразу вылетало окошко "Run as...." виндовое стандартное, где предлагается выбрать имя пользователя и ввести пароль. Вроде экспортировалась какойто дллкой такая функция.. надо посмотреть.
Я имел в виду "чтобы сразу вылетало окошко "Run as...." Всем спасибо. Буду копать в направлении browseui.dll credui.dll.
а Debug не хватит? Code: HANDLE hToken; TOKEN_PRIVILEGES tkp; // Get a token for this process. if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) return ; LookupPrivilegeValue(NULL, SE_DEBUG_NAME,&tkp.Privileges[0].Luid); tkp.PrivilegeCount = 1; // one privilege to set tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL, 0); // Cannot test the return value of AdjustTokenPrivileges. if (GetLastError() != ERROR_SUCCESS) return ;
System - понятие не путайте с пользователями, это всего лишь обозначение "обобщающее" название для служб и сервисов запускаемых системой! Нужно как минимум проэксплоитить какой нибудь сервис, чтоб получить привилегии System либо писать собственный драйвер. На самом деле в 80% случаев привилегии Debug достаточно! Для System не создается даже токен секьюрити, то есть он к политике безопасности почти не имеет отношение , а вопрос ставится так как будто мы должны какуюто политику изменить