Bonjour,

Je voudrais une ligne code qui passe le processus en mode "Executer en tant qu'administrateur" pour que je puisse Installer un driver avec createservice et startservice par la suite, c'est à dire l'équivalent de "Executer en tant qu'administrateur" au lancement de l'application.

J'ai rien trouvé sur Google.

Le projet MSI execute ma library pour installer un driver et il lui faut les priviléges administrateur.

De plus dans l'explorateur de Windows on ne peux pas executer le MSI en tant qu'administrateur.

BOOL __stdcall EnableDebugPrivilege(){
HANDLE haPrivilege;

/* On ouvre un acces au "cercle" des processus, afin de pouvoir modifier les privilèges. */
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&haPrivilege)){
TOKEN_PRIVILEGES tpPrivilege;
tpPrivilege.PrivilegeCount = 1; /* On spécifie le nombre des entrés dans le tableau. */

/* On récupère l'identifiant LUID du privilege. */
LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&tpPrivilege.Privileges[0].Luid);

tpPrivilege.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

/* On ajuste le tous avec le nouveau privilege. */
if((AdjustTokenPrivileges(haPrivilege,FALSE,&tpPrivilege,sizeof(tpPrivilege),NULL,0)) == 0){
CloseHandle(haPrivilege);
return FALSE;
}
CloseHandle(haPrivilege);
return TRUE;
}else{ return FALSE;}
}

Ca marche pas , openscmmanager retourne NULL.

J'en aie besoin au pire Windows 7 met une boite de confirmation du genre "voulez vous effectuer l'operation de modification ordinateur".

Merci beaucoup