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

Odpowiedz Nowy wątek
2011-07-28 09:11
M
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.

Pozostało 580 znaków

2011-07-28 21:31
Testownik
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

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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