[C/Win32] UAC demander à l'utilisateur

deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 12 déc. 2010 à 10:39
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 - 14 déc. 2010 à 01:55
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 déc. 2010 à 11:05
Tu as essayé avec un manifest RT_MANIFEST ressource ?

ciao...
BruNews, MVP VC++
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
12 déc. 2010 à 11:15
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
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
14 déc. 2010 à 01:55
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.
0
Rejoignez-nous