Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Base de Registre Vista [ Système / Exécution ] (H60)

vendredi 26 octobre 2007 à 09:06:45 | Base de Registre Vista

H60

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.

vendredi 26 octobre 2007 à 18:51:58 | Re : Base de Registre Vista

gbegreg

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.

vendredi 26 octobre 2007 à 20:43:38 | Re : Base de Registre Vista

Guillemouze

ah bah ca alors, on trouve toujours des infos tres interessantes sur certains thread
merci gbegreg, ca me sera vraiment utile

vendredi 26 octobre 2007 à 22:08:26 | Re : Base de Registre Vista

H60

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

vendredi 26 octobre 2007 à 23:05:02 | Re : Base de Registre Vista

gbegreg

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"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity name="monapplication"
version="1.0.0.0"
processorArchitecture="X86"
type="win32"/>
<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>
</assembly>
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.

samedi 27 octobre 2007 à 07:58:51 | Re : Base de Registre Vista

H60

Merci
C'est super sympa. Je vais essayer et je te donne la réponse.

samedi 27 octobre 2007 à 08:45:08 | Re : Base de Registre Vista

H60

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

[ Lien ]

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é..

samedi 27 octobre 2007 à 14:38:05 | Re : Base de Registre Vista

WhiteHippo

Membre Club
Réponse acceptée !

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.


"L'imagination est plus importante que le savoir." Albert Einstein




Cette discussion est classé dans : base, vista, registre


Répondre à ce message

Sujets en rapport avec ce message

base de registre [ par eedy31 ] Je sais que dans le style casse couille ,on fait pas mieux que moi,mais j'ai ENCORE une question!Comment on fait pour ecrire dans la base registre(c p ecrire des data dans registre [ par crogger ] Salut, je voudrai arriver à ecrire dans la base registre des informations de type DATA...par exemple, une fois détérminé le chemin etc... pouvoir ecri Accès base de registre !!! [ par scott114 ] Debutant Delphi !!Comment puis-je recuperer une serie de clef de la base de registre et inscrire les dites clefs et leurs valeurs dans un fichier text Checkbox et base registre [ par Enkorr ] Bonjour, je débute et j'ais un gros problème :o)))Voilà, j'aimerais avoir une checkbox qui écrit dans la base de registre quand elle est coché et qu'e base de registre [ par ssad ] comment connaitre la liste du matériels installés, dans la base du registre Recherche dans la base de registre [ par Mimlyne ] Bonjour,J'essaye de savoir comment on recherche à l'aide de delphi, une clé bien spécifique dans une base de registre à un endroit que l'on ne connait Base de registre sous Win 2000 avec Delphi [ par etimat ] J'accede avec l'objet Tregedit de la base de registreSous 2000 si je ne suis pas administrateurje n'arrive pas a lire le contenu d'une clefde hkey_loc Base de registre [ par yanguis ] Salut,J'ecris un petit programme qui identifie à partir de la base de registre les logiciels installés sur un ordinateur. Pour chaque logiciel install base de registre [ par msuire ] J'aimerais lire et ecrire dans la base de registre du disque dur d'un pc(x) depuis ma propre machine; Le disque du second pc étant connecté sur le por Ecrire un DWORD dans la base de registre [ par Antidote ] Antidote ReBonjour tout le monde, encore moi. Je voudrais savoir comment on peu écrir


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,125 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.