Probleme d'écriture dans la base de registre

Résolu
thom8994 Messages postés 17 Date d'inscription samedi 9 mai 2009 Statut Membre Dernière intervention 26 mai 2009 - 9 mai 2009 à 16:25
thom8994 Messages postés 17 Date d'inscription samedi 9 mai 2009 Statut Membre Dernière intervention 26 mai 2009 - 13 mai 2009 à 22:06
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

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

Les yeux montrent la force de l'âme
3
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 mai 2009 à 16:38
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
0
thom8994 Messages postés 17 Date d'inscription samedi 9 mai 2009 Statut Membre Dernière intervention 26 mai 2009
9 mai 2009 à 16:42
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
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 mai 2009 à 16:54
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
0

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

Posez votre question
thom8994 Messages postés 17 Date d'inscription samedi 9 mai 2009 Statut Membre Dernière intervention 26 mai 2009
9 mai 2009 à 16:57
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' ;)
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
9 mai 2009 à 17:24
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
0
thom8994 Messages postés 17 Date d'inscription samedi 9 mai 2009 Statut Membre Dernière intervention 26 mai 2009
9 mai 2009 à 17:30
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 ^^
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
9 mai 2009 à 17:34
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
0
thom8994 Messages postés 17 Date d'inscription samedi 9 mai 2009 Statut Membre Dernière intervention 26 mai 2009
9 mai 2009 à 17:39
Merci,
Je t'es envoyé un MP et si le Module marche j'accepterais la réponse

Thomas
0
thom8994 Messages postés 17 Date d'inscription samedi 9 mai 2009 Statut Membre Dernière intervention 26 mai 2009
13 mai 2009 à 22:06
C'est accepté =) Merci beaucoup ;)
0
Rejoignez-nous