[C/Win32] UAC demander à l'utilisateur

Signaler
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
-
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
-
Yop à tous,

Voila , j'ai un programme en C/Win32 qui , pour bien fonctionner , doit tourner en tant qu'administrateur. Seulement voila, lorsque l'on clique sur celui-ci, la demande ne se fait pas automatiquement. C'est pour savoir si il y a une API ou autre que je pourrai placer dans mon code , pour faire venir cette demande. Eviter de me dire de mettre une MessageBox, c'est pas pro. Je voudrais la vrai fenêtre de l'os.

Merci d'avance pour vos réponses.

++

deck_bsd

/*************************************/
http://deck-bsd.eurower.net

3 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Tu as essayé avec un manifest RT_MANIFEST ressource ?

ciao...
BruNews, MVP VC++
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
1
Bonjour BruNews ça fait un bail ^^

Non je n'ai pas esseyé cela, je me renseigne et regarde ça de suite.

++

deck_bsd

/*************************************/
http://deck-bsd.eurower.net
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
12
Salut,
Personnellement, j'utilise une méthode qui a toujours marché pour moi sous Visual C/C++ afin d'insérer ce manifest dans l'exécutable:
1- Dans le dossier du projet, créer un nouveau fichier txt vide nommé uac.txt par exemple.
2- Y Coller le contenu XML suivant:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

  
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
      <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>

3- Ne pas oublier de sauvegarder suite au collage.
4- Aller dans les propriétés du projet puis choisir "Manifest Tool" dans le volet gauche.
5- Sélectionner "Input and Output".
6- Dans le volet droit, taper le nom du fichier txt (uac.txt) devant "Additional Manifest Files".
7- S'assurer que "Embed Manifest" est à "Yes".
8- Regénérer l'exécutable puis le lancer.

Voilà ça devrait marcher. Une fois que l'exécutable atteint une fonction qui requiert les droits administrateur, la boite UAC apparait.