Base de Registre Vista

Résolu
h60 Messages postés 46 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 5 février 2012 - 26 oct. 2007 à 09:06
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 - 27 oct. 2007 à 14:38
Bonjour à tous

Je viens d'installer Vista et je recompile mes applis.
Quelqu'un peut-il me dire comment faire pour écrire et lire des clés dans la base de registre.

Je n'ai aucun problème avec XP. Je pense qu'il sagit de droits. Comment les attibuer dans mon appli?

Merci pour vos réponses.

7 réponses

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
27 oct. 2007 à 14:38
Bonjour,

Peut être que la solution est ici. Mais j'en sais rien  j'ai pas Vista pour tester.
 
N.B. et j'en veux surtout pas

Cordialement. <hr />"L'imagination est plus importante que le savoir." Albert Einstein
3
gbegreg Messages postés 9 Date d'inscription jeudi 17 juillet 2003 Statut Membre Dernière intervention 1 mars 2012
26 oct. 2007 à 18:51
Bonjour,

J'ai été confronté à ce problème. J'ai trouvé une solution à cette adresse :
http://msdn2.microsoft.com/fr-fr/library/db7fb69e-2dea-4e09-b97a-f178d3d245b7.aspx

Pour ma part, j'ai retenu la solution de placer un fichier manifest avec mes exécutables.

En espérant que tu y trouveras ton bonheur.
0
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
26 oct. 2007 à 20:43
ah bah ca alors, on trouve toujours des infos tres interessantes sur certains thread
merci gbegreg, ca me sera vraiment utile
0
h60 Messages postés 46 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 5 février 2012 1
26 oct. 2007 à 22:08
Merci à toi gbgreg
Je suis allé à ton adresse
La chose parait complexe mais je n'ai pas eu le temps d'approfondir.
Ne peux tu pas me donner un bout de code pour que comprenne mieux.
Je ne sais pas cequ'est un fichier manifest.

Merci de me répondre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbegreg Messages postés 9 Date d'inscription jeudi 17 juillet 2003 Statut Membre Dernière intervention 1 mars 2012
26 oct. 2007 à 23:05
Bonsoir,

D'après ce que j'ai compris, sous Vista, même un utilisateur de type administrateur n'est pas
forcément autorisé à accéder à certains dossiers, certaines clés dans
la base de registre etc...
Il faut donc que l'application demande à Windows d'élever les droits pour son fonctionnement.
Pour ce faire, le plus simple (si vous ne souhaitez pas modifier le code de votre appli) est l'utilisation d'un fichier manifest.

Sous Vista, la fonction de l'API Windows "CreateProcess" (fonction que Windows appelle pour exécuter un programme par exemple) va lire le fichier manifest de l'application s'il existe. Le fichier manifest est un fichier XML (donc un fichier texte modifiable par n'importe quel éditeur) qui doit être situé dans le même dossier que l'exécutable, avec le même nom que l'exécutable mais avec pour extension ".manifest".

Voici le contenu d'un fichier manifest exemple (repris du site que j'ai mentionné dans mon post précédent):
<?xml version= "1.0" encoding="UTF-8" standalone="yes"?>


<description> Mon Application </description>
<!-- Identify the app's security requirements. -->
<trustInfo xmlns ="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" />
</requestedPrivileges>
</security>
</trustInfo>

Vous pouvez recopier ce code dans un nouveau fichier texte. Remplacez simplement la valeur monapplication de la propriété name par le nom de votre application, saisissez la description que vous souhaitez dans la propriété description.

Le niveau de privilège requireAdministrator est le niveau le plus haut possible. Cela indique que l'application doit être exécutée dans une session Windows Administrateur.

J'ai essayé de résumé brièvement ce qui est indiqué sur la page msdn, en espérant que cela réponde à ton besoin.
0
h60 Messages postés 46 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 5 février 2012 1
27 oct. 2007 à 07:58
Merci
C'est super sympa. Je vais essayer et je te donne la réponse.
0
h60 Messages postés 46 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 5 février 2012 1
27 oct. 2007 à 08:45
Je suis désolé gbgreg
mais cela n'a pas marché.

J'ai copié collé ton code et
remplacé "MonApplication" par "Project1.exe"
renommé le fichier texte en "Project1.Manifest" et
placé ce fichier dans le même repertoire que mon projet.

Mais voila j'ai les mêmes problèmes!!!!

Pour avancé je désactive l'UAC dans la base de registre cm indiqué sur

http://windows.developpez.com/faq/vista/?page=uac

c'est pratique cela évite de nombreux messages de confirmaton mais c'est pas optimum pour la portabilité.
Si tu as d'autres idées je suis preneur.
Je vais étudier de plus près le lien que tu m'as donné..
0
Rejoignez-nous