Probleme d'écriture dans la base de registre [Résolu]

Signaler
Messages postés
17
Date d'inscription
samedi 9 mai 2009
Statut
Membre
Dernière intervention
26 mai 2009
-
Messages postés
17
Date d'inscription
samedi 9 mai 2009
Statut
Membre
Dernière intervention
26 mai 2009
-
Bonjour,
Je suis en train de faire un programme d'édition de de texte RTF et je voudrais associé mon programme avec les fichier portant l'extension *.rtf.
Alors j'utilise ce code:

    Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _
                                      (ByVal hKey As Long, ByVal lpSubKey As String, _
                                       ByVal phkResult As Long) As Long
    Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" _
                                         (ByVal hKey As Long, ByVal lpSubKey As String, _
                                          ByVal dwType As Long, ByVal lpData As String, _
                                          ByVal cbData As Long) As Long

    Private Const HKEY_CLASSES_ROOT = &H80000000
    Private Const MAX_PATH = 255
    Private Const REG_SZ = 1

    Private Sub cmdAssocExt_Click()

        Dim MaCle As Long

        Call RegCreateKey(HKEY_CLASSES_ROOT, "RTF", MaCle)
        Call RegSetValue&(MaCle, "", REG_SZ, "RTF", 0&)
        Call RegSetValue&(MaCle, "shell\open\command", REG_SZ, "C:\Program Files\RTF-Editor\RTF-Editor 1.0.exe %1", MAX_PATH)
        Call RegSetValue&(MaCle, "DefaultIcon", REG_SZ, "C:\Program Files\RTF-Editor\RTF-Editor 1.0.exe,1", MAX_PATH)
        Call RegCreateKey&(HKEY_CLASSES_ROOT, ".rtf", MaCle)
        Call RegSetValue&(MaCle, "", REG_SZ, "RTF", 0&)

    End Sub

Mais le débogueur m'affiche: "Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée."

Donc je voudrais savoir comment je peut faire autrement ou corriger l'erreur,
Merci, Thomas

PS: Je cherche aussi comment créer un aperçu avant impression et ajouter une image à ma RichTextBox (Malgré les sources trouvé sur ce site que je n'arrive pas à faire fonctionner). Mais c'est secondaire.

Merci encore

10 réponses

Messages postés
580
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
20 avril 2010
2
j'attends toujours que tu accepte ma réponse (je déconne) 

Les yeux montrent la force de l'âme
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
28
Bonsoir,

à quelle ligne survient cette erreur ? (fait un pas à pas)
Sous quel système d'exploitation tourne-tu ? Ton compte est-il un compte administrateur ?

Mayzz
Messages postés
17
Date d'inscription
samedi 9 mai 2009
Statut
Membre
Dernière intervention
26 mai 2009

Merci de la réponse très rapide,
L'erreur survien à cette ligne : "Call RegCreateKey(HKEY_CLASSES_ROOT, "RTF", MaCle)"
(La 3éme de la fonction
cmdAssocExt_Click())
Je suis sous windows XP
et je suis Admin

Cordialement, Thomas
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
28
Euhh, peut-être que cela n'a qtrictement rien à voir avec l'erreur mais ce ne serait pas plutot:

Call RegCreateKey(HKEY_CLASSES_ROOT, ".rtf", MaCle) ????

@+ Mayzz
Messages postés
17
Date d'inscription
samedi 9 mai 2009
Statut
Membre
Dernière intervention
26 mai 2009

Oui c'est possible car j'ai du mal avec la base de registre et c'est un code que j'ai trouvé sur le net.
Mais l'erreur est la meme...

En tout cas merci de prendre du temps pour moi sa fait plez' ;)
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
28
Essaye avec RegCreateKeyEx ou RegOpenKeyEx, chez moi ton code ne fonctionne pas mais je n'ai pas de message d'erreur, il y a juste la fonction RegCreateKey qui ne me retourne pas la valeur 0 (NO_ERROR) mais la valeur 83 ("Paramètres incorrect")...

Bonne continuation.

@+ Mayzz
Messages postés
17
Date d'inscription
samedi 9 mai 2009
Statut
Membre
Dernière intervention
26 mai 2009

Merci mais ça ne marche toujours pas,
Mais si quelqu'un avais trouvé une autre solution pour associé son prog a une extention sa me va aussi ^^
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
20 avril 2010
2
j'ai un module qui lit/écrit dans le registre, si t'a pas trouvé de solution et tu le veut laisse moi un message je te l'envoi

Les yeux montrent la force de l'âme
Messages postés
17
Date d'inscription
samedi 9 mai 2009
Statut
Membre
Dernière intervention
26 mai 2009

Merci,
Je t'es envoyé un MP et si le Module marche j'accepterais la réponse

Thomas
Messages postés
17
Date d'inscription
samedi 9 mai 2009
Statut
Membre
Dernière intervention
26 mai 2009

C'est accepté =) Merci beaucoup ;)