La bonne méthode pour sendmessage

Résolu
odan71 Messages postés 140 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 11 décembre 2007 - 18 oct. 2004 à 11:06
odan71 Messages postés 140 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 11 décembre 2007 - 18 oct. 2004 à 17:05
slt à tous,
j'aimerais exporter un fichier du registre (de regedit) depuis vb; ayant très peu utilisé les api, je me suis dit qu'il fallait que j'utilise un sendmessage pour pouvoir accéder aux menus de regedit (à tort peut-etre). j'ai donc fait un getmenu, puis un getmenuid pour récuperer les infos necessaires, mais quand j'ai fait mon sendmessage (avec wm_command comme parametre) ça n'a rien donné.
ouske je merde?

odan71

4 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
18 oct. 2004 à 15:58
Soit MSDN :
Exemple avec la calculette au cas où

Dim ReturnValue, I
ReturnValue = Shell("calc.exe", 1)   ' Exécute l'application Calculatrice.
AppActivate ReturnValue               ' Active l'application Calculatrice.
For I = 1 To 100   ' Configure la boucle de comptage.
   SendKeys I & "{+}", True   ' Envoie des frappes de touches
   Next I                     ' à l'application Calculatrice pour
                              ' ajouter chaque valeur de I.
SendKeys "=", True   ' Fait le total général.
SendKeys "%{F4}", True   ' Envoie la combinaison ALT+F4 pour fermer
                        ' l'application Calculatrice.


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
3
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
18 oct. 2004 à 12:33
Salut Oudan71, pour envoyé des commandes dans un soft autre que le le tien (Regdt32 / Regedit par exemple) il faut utilise SendKeys. Mais pour extraire une clé du registre y'a plus simple que de charger Regedit puis d'y envoyé les commandes.

Dim b As Object
    On Error Resume Next
    Set b = CreateObject("wscript.shell")
    r = b.RegRead("Clé")


"Clé" est l'emplacement de la clé
Le résultat ce trouve dans "r"

Sinon tu peux télécharger le contrôle sur mon site, rubrique Dossier - RegWin Editor

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
odan71 Messages postés 140 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 11 décembre 2007
18 oct. 2004 à 13:34
merci cboulas, j'ai télécharger ton ocx, il m'a l'air interressant mais je ne crois pas qu'il puisse m'aider (enfin d'après ce que j'ai pu voir sur le .txt) : ce que je cherche à faire c'est faire une sauvegarde complète de la base de registres en .reg.

il me reste à essayer la méthode SendKeys mais je crois me rappeler qu'il faut mettre l'application en premier plan pour être sur que ce soit la bonne fenetre qui reçoit les ordres.
j'essaierai ça ce soir, merci
odan71
0
odan71 Messages postés 140 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 11 décembre 2007
18 oct. 2004 à 17:05
encore une fois merci cboulas, je crois que là j'ai tout ce qu'il me faut...

un newbie très content,
odan71
0
Rejoignez-nous