cs_PaTaTe
Messages postés2107Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 2021
-
15 août 2006 à 14:33
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
16 août 2006 à 00:12
Bonjour
J'aimerais savoir si une methode existe pour verifier l'existence d'unclé dans la base de registre ou d'un chemin.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 15 août 2006 à 17:31
Salut,
Tu dois passer par l'API RegOpenKeyEx :
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias _
"RegOpenKeyExA" (ByVal hKey As Long, _
ByVal lpSubKey As String, ByVal ulOptions As Long, _
ByVal samDesired As Long, phkResult As Long) As Long
@++
Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
cs_PaTaTe
Messages postés2107Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 20212 15 août 2006 à 18:07
Merci je vais tester ça.
J'ai une autre question concernant la base de registre (au lieu de reposter je prefere le faire ici)
Je sais ajouter une commande au menu contextuel sur un type precis de fichier mais j'aimerais pouvoir le faire sur un repertoire mais je ne sais pas comment on procede, ca m'a l'air different
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 15 août 2006 à 18:12
C'est possible mais je n'ai jamais utilisé cette option.
En fait, c'est quand on fait un click droit sur un fichier ou dossier, tu veux rajouter un Item, c'est ça ??
Si oui je regarde, et précise moi comment tu fais pour le fichier, ça m'aidera peut-être dans les recherches !
@++
Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
cs_PaTaTe
Messages postés2107Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 20212 15 août 2006 à 21:03
[auteurdetail.aspx?ID=647037 mortalino]
J'utilise ces fonctions (si tu as mieux je suis preuneur evidement
Public Sub RegLire(CheminComplet As String, Destination As String)
Dim WshShell As Object
Set WshShell = CreateObject("Wscript.Shell")
Destination = WshShell.RegRead(CheminComplet)
Set WshShell = Nothing
End Sub
Public Sub RegEcrire(StyleDeClé As Integer, CheminComplet As String, Valeur As String)
Dim WshShell As Object
Set WshShell = CreateObject("Wscript.Shell")
If StyleDeClé = 0 Then WshShell.RegWrite CheminComplet, Valeur
If StyleDeClé = 1 Then WshShell.RegWrite CheminComplet, Valeur, "REG_DWORD"
If StyleDeClé = 2 Then WshShell.RegWrite CheminComplet, Valeur, "REG_BINARY"
Set WshShell = Nothing
End Sub
Public Sub RegSupprimer(CheminComplet As String)
Dim WshShell As Object
Set WshShell = CreateObject("Wscript.Shell")
WshShell.RegDelete CheminComplet
Set WshShell = Nothing
End Sub
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 15 août 2006 à 21:48
Tant que ça fonctionne c'est le principal. Moi je passe par les APIs mais je ne sais pas quelle méthode est plus performante.
Il me semble avoir lu qu'avec ta méthode ton appli risquait de se faire contrer par un bon anti-virus. A voir..
Concernant ta 2nde questions, voit le lien que Willy t'as filé, c'est en anglais mais pas très complexe à comprendre.
@++
Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 15 août 2006 à 23:11
Regardez dans la visionneuse d'API fournie avec VB et charger le fichier Win32api.txt il y a les déclarations des fonctions, des constantes et des structures. Pile poil tout ce dont on a besoin quand on utilise les fonctions de l'API. Bien sur il convient également d'aller sur la msdn pour avoir une description détaillée des fonctions et de la manière dont elles s'utilisent.
Voila Patate tu as tout ce qu'il te faut en plus des nombreux exemples sur le site.
Regarde également sur Allapi
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 15 août 2006 à 23:21
PaTaTe, utilise cette source ! C'est sous forme de fonctions.
Willy, je galère un peu, les APIs, je ne m'y met que depuis peu et pour apprendre, j'essaie des trucs simples, comme :
Declare Function AnimateWindow Lib
"user32" ( _
ByVal hWnd As Long,
_
ByVal
dwTime As Long, _
ByVal dwFlags As Long) As Long
Private Sub Form_Load()
' Cet appel de fonction fera s'afficher progressivement la
' fenêtre
de son centre vers ses bords
Debug.Print
AnimateWindow(Me.hWnd, 10000, &H10 Or &H20000)
End Sub
ET bien entendu, ça ne fonctionne pas ! Pas très motivant tout ça !
(c'est un copier coller d'un exemple, c'est pour ça que c'est rageant...)
@++
Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"