Estoy usando Qt Creator y tengo problemas para hacer que el archivo .exe
se ejecute como administrador de manera predeterminada.Qt (en Windows) configuración de nivel de privilegio para "requireAdministrator"
Lectura a través de todas las soluciones en línea traté de poner esta línea en mi .pro
archivo:
QMAKE_LFLAGS += /MANIFESTUAC:"level='requireAdministrator' uiAccess='false'"
Pero aún cuando compruebo mi .exe
(usando el bloc de notas) que contiene:
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
Puede alguien dime, ¿cómo agregar requireAdministrator
?
Solución temporal: Hasta ahora no he podido encontrar una solución, así que hice un hack temporal. Hice una llamada .exe
'LaunchAnother.exe' que pondrá en marcha mi 'main.exe' usando siguiente código:
SHELLEXECUTEINFO shExInfo = {0};
shExInfo.cbSize = sizeof(shExInfo);
shExInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
shExInfo.hwnd = 0;
shExInfo.lpVerb = _T("runas"); // Operation to perform
shExInfo.lpFile = _T("main.exe"); // Application to start
shExInfo.lpParameters = ""; // Additional parameters
shExInfo.lpDirectory = 0;
shExInfo.nShow = SW_SHOW;
shExInfo.hInstApp = 0;
if (ShellExecuteEx(&shExInfo))
{
WaitForSingleObject(shExInfo.hProcess, INFINITE);
CloseHandle(shExInfo.hProcess);
}
A la espera de una solución mejor.
¿Tu QtCreator está usando VC toolchain? Está utilizando conmutadores específicos de VC, por lo que si su configuración utiliza g ++, no funcionará en absoluto. También encontré que es posible que deba agregar 'CONFIG + = embed_manifest_exe' –