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 !

LIRE UNE BASE DE REGISTRE DISTANTE


Information sur la source

Catégorie :Base de registre Niveau : Initié Date de création : 23/12/2003 Vu / téléchargé: 8 802 / 1 213

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

Description

C'est un petit prog qui fait la liste des imprimantes qu'il y a sur un poste distant, ça liste les imprimante mais vous pouvez le modifier pour lister ce que vou voullez.
 

Conclusion

pour ecrire dans une bdr distante, j'y arrive (pour les valeurs pas pour les clès, mais je compte y arrivé prochainement). toutefois, ça ne liste plus correctement après avoir ajouter une valeur. Je c pas pourquoi.Si vous avez dez remarques ou des conseilles dite-les.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de TheGuern le 03/02/2004 23:25:34

Impec et rien à redire; c'est exactement ce que je cherchais. Merci et @+++

TheGuern

signaler à un administrateur
Commentaire de laurent207 le 04/02/2004 17:58:02

ravis d'avoir pu t'aider

signaler à un administrateur
Commentaire de TheGuern le 04/02/2004 18:47:08

Le seul truc que j'aimerai savoir, c'est si au lieu de lire des clé dans le registre, on pourrait lire des valeur ou des données???

Sujet à polémique. Tx d'avance...

P.S. : si c'est oui, please un API ou un Activex

signaler à un administrateur
Commentaire de laurent207 le 04/02/2004 19:59:38

c avec l'api RegEnumValue ou RegEnumValueEx

si t'y arrive pas g 1 example

signaler à un administrateur
Commentaire de TheGuern le 04/02/2004 22:05:46

Vas-y donne un exemple please (chuis féniant). Si t'a po envie, tant pis, je le ferai quand j'aurais le temps.

Merci d'avance..

@++++

TheGuern

signaler à un administrateur
Commentaire de laurent207 le 05/02/2004 19:03:31

pardon j'avais pas vu vos msg, j'ai été très oqp mais je vous mettrai en example en commantaire demain, seulement pour les valeurs ça marche quelque soit le type mais pour récupérer les données de chaque valeur ça ne marche que si c une chaine, pas avec une valeur dword (héxa) et pour le multi_sz, g pas testé

signaler à un administrateur
Commentaire de TheGuern le 06/02/2004 06:50:38

ok, thank d'avance. Pour ce qui est de la valeur chaine, ce n'est pas grave car c'est pour faire un prog de sécu... Alors DWORD ou CHAÎNE; ça revient au même...
Pour ce qui est du paramêtrage; je suis sous XP, alors est-ce que je doit installer l'accès du registre distant ou est-ce que c'est un activex qui peut fonctionner sans???

signaler à un administrateur
Commentaire de laurent207 le 07/02/2004 00:45:48

il n'y a rien a installer et ce n'est pas des contrôle active X, ce sont juste des appel à des api qui s'appient sur des dll de windows (9x ou à partir de NT 3.51, donc pour toutes les version)

Private Sub ListePortsLocal()
    Dim NomPort As String
    Dim NomFichier As String
    'lister les valeurs d'une sous-clé
    NomFichier = UCase(txtNomPoste.Text) & "PortLocal.txt"
    lstPorts.Clear
    
    Cnt = 0
    'Open a registry key
    If RegOpenKey(RemoteMachine, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports", hKey) = 0 Then
        If (Dir$(CheminTXT & NomFichier) <> vbNullString) Then
            Kill (CheminTXT & NomFichier)
        End If
        'initialize
        sName = Space(BUFFER_SIZE)
        sData = Space(BUFFER_SIZE)
        Ret = BUFFER_SIZE
        RetData = BUFFER_SIZE
        'enumerate the values
        While RegEnumValue(hKey, Cnt, sName, Ret, 0, ByVal 0&, ByVal sData, RetData) <> ERROR_NO_MORE_ITEMS
            'show data
            If RetData > 0 Then
                'sauvegarde de la clé dans un fichier
                NomPort = Left$(sName, Ret)
                If (NomPort <> "") Then
                    If ((NomPort <> "FILE") And (Mid(NomPort, 1, 2) <> "Ne")) Then
                        If (Mid(NomPort, Len(NomPort), 1) = "=") Then
                            NomPort = Left(NomPort, Len(NomPort) - 1)
                        End If
                        If (Mid(NomPort, Len(NomPort), 1) = ":") Then
                            NomPort = Left(NomPort, Len(NomPort) - 1)
                        End If
                        
                        Open CheminTXT & NomFichier For Append As #1
                            Print #1, NomPort
                        Close #1
                        lstPorts.AddItem (NomPort)
                    End If
                End If
                'prepare for next value
                Cnt = Cnt + 1
                sName = Space(BUFFER_SIZE)
                sData = Space(BUFFER_SIZE)
                Ret = BUFFER_SIZE
                RetData = BUFFER_SIZE
            End If
        Wend
        'Close the registry key
        RegCloseKey hKey
    End If
End Sub

bon voilà
c un petit truc qui m'a permisde récupéré les ports locaux d'un pc distant
après dans la boucle, je "nettoie" la chaine des caractères indésirable
et je sauvegarde la liste des ports dans un fichier texte

bonne prog !

signaler à un administrateur
Commentaire de jmbourreau le 25/04/2005 16:14:00

Salut je viens d'essayer ton code pour lire les valeurs, et il ne fonctionne pas . Merci de voir si tu peux m'aider.

signaler à un administrateur
Commentaire de laurent207 le 25/04/2005 18:55:45

vérifie que le service windows d'acces distant à la base de registre soit activé.

signaler à un administrateur
Commentaire de jmbourreau le 29/04/2005 18:45:09

Salut as tu reussis a ecrire dans une base distante??
Sinon j'aimerai aussi enumerer les cles d'un registre par exemple dans la ruche HKEY_LOCAL_MACHINE, pouvoir énumerer les sous clés "display de la clé : "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall". Est ce possible?
Merci de ton travail.

signaler à un administrateur
Commentaire de laurent207 le 30/04/2005 11:01:42

tu as tout ce qu'il te faut pour ennmérer le sous-clés d'une ruche (regarde dans le source), tu n'a quà changer le nom de la ruche et de la clé à énumérer. Pour lire les valeur regarde le poste juste au dessus, lol. Et pour écrire des valeurs je n'ai plus le nom exacte des api en tête (c un truc du RegSetValue) regarde sur le site http://www.mentalis.org/apilist/RegSetValueEx.shtml)

Bonne prog !

signaler à un administrateur
Commentaire de AllalcoolG le 24/09/2005 20:28:22

grace au fonction APi on peux recup la valeur d une clés sur son poste. Est il possible de récup un clé presente sur autre machine faisant partie d un autre domaine en passant OBLIGATOIREMENT comme argument le mot de passe, le compte et la lien vers la clés?

signaler à un administrateur
Commentaire de laurent207 le 25/09/2005 23:13:32

perso je fait une connexion "net use" (je me connecte en tant qu'admin) sur le poste distant et aprés sa roule, tu n'a plus de prb de droits.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



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