QProcess, różne działanie w Debug i Release

0

Jak w temacie... Czy ktoś może mi powiedzieć z czego wynika sytuacja, w której w ustawieniach Debug, QProcess odpala mi program, system wyświetla zapytanie UAC i wszystko jest OK. Przełączam na Release i QProcess zamiast odpalić mi execa(tego samego co w Debug) kończy się błędem (Unknown Error) . Podejrzewam, że chodzi o brak jakichś uprawnień, ale jak je podnieść, to niestety niewiem. Jako podpowiedź powiem, że zwykły notepad.exe uruchamia się w Debug i Release bez żadnych problemów.

0

Tak,

W trybie debug są nieustawione niektóre uprawnienia, spróbuj wywołać tą funkcje na początku programu, żeby podnieść je


void EnableDebugPriv()
{
	HANDLE hToken;
	LUID sedebugnameValue;
	TOKEN_PRIVILEGES tkp;

	OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);

	LookupPrivilegeValue( NULL, SE_DEBUG_NAME, &sedebugnameValue );

	tkp.PrivilegeCount = 1;
	tkp.Privileges[0].Luid = sedebugnameValue;
	tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

	AdjustTokenPrivileges( hToken, FALSE, &tkp, sizeof tkp, NULL, NULL );

	CloseHandle(hToken);
}


Pozdrawiam, mam nadzieje, że pomoże

1 użytkowników online, w tym zalogowanych: 0, gości: 1