Как убрать повторную работу программы после нажатия "да" при запросе администратора
Проблема такая: После запуска программа запрашивает права администора. Если нажать "Нет", то просто закроется Если нажать "Да", то программа становится будто батником, консоли просто открываются и закрываются постоянно и не дают ничего сделать
Как исправить?
Вот код:
#include <iostream>
#include <windows.h>
#include <shellapi.h>
int main()
{
SHELLEXECUTEINFO info = { 0 };
info.cbSize = sizeof(info);
info.lpVerb = TEXT("runas");
info.lpFile = TEXT("ConsoleApplication1.exe");
info.nShow = SW_NORMAL;
if (ShellExecuteEx(&info))
{
std::cout << "Программа успешно запущена с правами администратора." << std::endl;
}
else
{
DWORD error = GetLastError();
if (error == ERROR_CANCELLED)
{
std::cout << "Пользователь отменил запрос на получение прав администратора." << std::endl;
}
else
{
std::cout << "Не удалось получить права администратора. Ошибка: " << error << std::endl;
}
}
return 0;
}
Источник: Stack Overflow на русском