begin process at 2010 02 09 14:42:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Système

 > 

Exécution

 > 

Base de Registre Vista


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Base de Registre Vista

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ée dans : base, vista, registre


Répondre à ce message

Sujets en rapport avec ce message

modification dans la base de registre vista [ par Nellayane ] Bonjour!Je suis VRAIMENT une débutante, et j'ai une question peut être (aïe, oui, d'accord, sûrement) stupide, mais bon si je la pose pas, je saurai p lecture à partir de la base de registre [ par samar22 ] bonjour, je veux effectuer une lecture à partir de la base de registre en langage JAVA???Veuillez m'aider SVP merci. Base de registre, accès [ par nilwak ] Bonjour à tous;J'ai créé un setup avec inno setup, qui appel un executable puis qui lance un second setup. Sauf que je désire que le second setup ne d Enregistrer une dll en base de registre [ par aya8619 ] bonjours à tous donc voilà j'ai une dll que je veut ajouter en base de registre mais je ne sait pas comment faire, j'ai essayé avec regsvr32 mais ça n bot irc socket [ par lulu57 ] Bonjour, j'ai crée un bot pour irc. j'ai également mis dans la base de registre pour qu'il ce lance tout seul.Pour qu'il ce connect, je me suis servit Lecture en base de registre [ par atomefougere ] Salut,J'aimerais lire une valeur en base de registre sous la clé HKEY_LOCAL_MACHINE, alors que je ne suis pas sous une session administrateur.Les TReg 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


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales