Accueil > > > LIRE ET ECRIRE DES CLÉS DANS LA BASE DE REGISTRE
LIRE ET ECRIRE DES CLÉS DANS LA BASE DE REGISTRE
Information sur la source
Description
Et voila mon deuxième code :-) Décidemment aujourd'hui je suis en forme ;-) Tous est dans le titre et le code. Je précide que le type de clé c'est par exemple HKeyCurrentUser, que l'adresse c'est ce qui vient derrière dans la base de registre et le nom....ben cela parle tous seul !
Source
- Option Explicit
-
- Dim lng As Long
- Dim Buff As Long
-
- '-------------------------------------------------------'
- 'ATTENTION : NE PAS METTRE DE \ AU DEBUT DU CHEMIN !!!!!'
- '-------------------------------------------------------'
-
- '-------------------------------------------------------'
- 'LAISSER VALEUR VIDE POUR LA CHAINE PAR DEFAUT '
- '-------------------------------------------------------'
-
-
- 'Constantes correspondant aux cinq clés
- 'à la base de la base de registres
-
- Const HKEY_CLASSES_ROOT = &H80000000
- Const HKEY_CURRENT_USER = &H80000001
- Const HKEY_LOCAL_MACHINE = &H80000002
- Const HKEY_USERS = &H80000003
- Const HKEY_DYN_DATA = &H80000004
- Public Const SW_SHOW = 1
- Public Enum HCle
- HKeyLocalMachine = 0
- HKeyCurrentUser = 1
- HKeyClassesRoot = 2
- HKeyUsers = 3
- HKeyDynamicData = 4
- End Enum
-
- 'API nécessaires
-
- 'pour créer ou ouvrir une clé
- Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _
- (ByVal hKey As Long, _
- ByVal lpSubKey As String, _
- phkResult As Long) As Long
-
- 'pour supprimer une clé
- Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" _
- (ByVal hKey As Long, _
- ByVal lpSubKey As String) As Long
-
- 'pour supprimer une valeur
- Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" _
- (ByVal hKey As Long, _
- ByVal lpSubKey As String) As Long
-
- 'pour lire une valeur
- Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _
- (ByVal hKey As Long, _
- ByVal lpValueName As String, _
- ByVal lpReserved As Long, _
- lpType As Long, _
- lpData As Any, _
- lpcbData As Long) As Long
-
- 'pour fixer ou créer une valeur
- Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _
- (ByVal hKey As Long, _
- ByVal lpValueName As String, _
- ByVal Reserved As Long, _
- ByVal dwType As Long, _
- ByVal lpData As Any, _
- ByVal cbData As Long) As Long
-
- Public Function CreerCle(HK As HCle, Chemin As String) As Long
- RegCreateKey HKConvert(HK), Chemin, lng
- CreerCle = lng
- End Function
-
- Private Function HKConvert(HK As HCle) As Long
- If HK = 2 Then HKConvert = HKEY_CLASSES_ROOT
- If HK = 1 Then HKConvert = HKEY_CURRENT_USER
- If HK = 0 Then HKConvert = HKEY_LOCAL_MACHINE
- If HK = 3 Then HKConvert = HKEY_USERS
- If HK = 4 Then HKConvert = HKEY_DYN_DATA
- End Function
-
- Public Function SupprCle(HK As HCle, Chemin As String)
- RegDeleteKey HKConvert(HK), Chemin
- End Function
-
- Public Function DonnerValeur(HK As HCle, Chemin As String, Valeur As String, Donnee As String)
- RegCreateKey HKConvert(HK), Chemin, lng
- RegSetValueEx lng, Valeur, 0&, 1, Donnee, Len(Donnee) + 1
- End Function
-
- Public Function LireValeur(HK As HCle, Chemin As String, Valeur As String) As String
- On Error GoTo erreur
- Buff = 0
- Buff = RegCreateKey(HKConvert(HK), Chemin, lng)
- If Buff = 0 Then RegQueryValueEx lng, Valeur, 0&, 1, 0&, Buff
- If Buff < 2 Then
- LireValeur = ""
- Exit Function
- End If
- LireValeur = String(Buff + 1, " ")
- RegQueryValueEx lng, Valeur, 0&, 1, ByVal LireValeur, Buff
- LireValeur = Left(LireValeur, Buff - 1)
- 'mettre a la place de form1.tag l'emplacement où vous voulez écrire la valeur de la clé lu
- form1.Tag = LireValeur
- Exit Function
- erreur:
- MsgBox "Configuration du port incorrect, impossible de lancer l'acquisition"
- End Function
-
- Public Function SupprValeur(HK As HCle, Chemin As String, Valeur As String)
- Buff = 0
- Buff = RegCreateKey(HKConvert(HK), Chemin, lng)
- If Buff = 0 Then RegDeleteValue lng, ByVal Valeur
- End Function
-
-
- Public Sub Run(Parametre As String)
- DonnerValeur type clé, "adresse clé", "nom clé", App.Path & "\" & App.EXEName & ".exe " & Parametre
- End Sub
-
- Public Function IsRun() As Boolean
- If LireValeur(type clé, "adresse clé", "nom clé") <> "" Then IsRun = True Else IsRun = False
- End Function
-
- Public Sub DelRun()
- SupprValeur Type clé, "adresse", "nom clé"
- End Sub
-
Option Explicit
Dim lng As Long
Dim Buff As Long
'-------------------------------------------------------'
'ATTENTION : NE PAS METTRE DE \ AU DEBUT DU CHEMIN !!!!!'
'-------------------------------------------------------'
'-------------------------------------------------------'
'LAISSER VALEUR VIDE POUR LA CHAINE PAR DEFAUT '
'-------------------------------------------------------'
'Constantes correspondant aux cinq clés
'à la base de la base de registres
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_USERS = &H80000003
Const HKEY_DYN_DATA = &H80000004
Public Const SW_SHOW = 1
Public Enum HCle
HKeyLocalMachine = 0
HKeyCurrentUser = 1
HKeyClassesRoot = 2
HKeyUsers = 3
HKeyDynamicData = 4
End Enum
'API nécessaires
'pour créer ou ouvrir une clé
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _
(ByVal hKey As Long, _
ByVal lpSubKey As String, _
phkResult As Long) As Long
'pour supprimer une clé
Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" _
(ByVal hKey As Long, _
ByVal lpSubKey As String) As Long
'pour supprimer une valeur
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" _
(ByVal hKey As Long, _
ByVal lpSubKey As String) As Long
'pour lire une valeur
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _
(ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal lpReserved As Long, _
lpType As Long, _
lpData As Any, _
lpcbData As Long) As Long
'pour fixer ou créer une valeur
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _
(ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
ByVal lpData As Any, _
ByVal cbData As Long) As Long
Public Function CreerCle(HK As HCle, Chemin As String) As Long
RegCreateKey HKConvert(HK), Chemin, lng
CreerCle = lng
End Function
Private Function HKConvert(HK As HCle) As Long
If HK = 2 Then HKConvert = HKEY_CLASSES_ROOT
If HK = 1 Then HKConvert = HKEY_CURRENT_USER
If HK = 0 Then HKConvert = HKEY_LOCAL_MACHINE
If HK = 3 Then HKConvert = HKEY_USERS
If HK = 4 Then HKConvert = HKEY_DYN_DATA
End Function
Public Function SupprCle(HK As HCle, Chemin As String)
RegDeleteKey HKConvert(HK), Chemin
End Function
Public Function DonnerValeur(HK As HCle, Chemin As String, Valeur As String, Donnee As String)
RegCreateKey HKConvert(HK), Chemin, lng
RegSetValueEx lng, Valeur, 0&, 1, Donnee, Len(Donnee) + 1
End Function
Public Function LireValeur(HK As HCle, Chemin As String, Valeur As String) As String
On Error GoTo erreur
Buff = 0
Buff = RegCreateKey(HKConvert(HK), Chemin, lng)
If Buff = 0 Then RegQueryValueEx lng, Valeur, 0&, 1, 0&, Buff
If Buff < 2 Then
LireValeur = ""
Exit Function
End If
LireValeur = String(Buff + 1, " ")
RegQueryValueEx lng, Valeur, 0&, 1, ByVal LireValeur, Buff
LireValeur = Left(LireValeur, Buff - 1)
'mettre a la place de form1.tag l'emplacement où vous voulez écrire la valeur de la clé lu
form1.Tag = LireValeur
Exit Function
erreur:
MsgBox "Configuration du port incorrect, impossible de lancer l'acquisition"
End Function
Public Function SupprValeur(HK As HCle, Chemin As String, Valeur As String)
Buff = 0
Buff = RegCreateKey(HKConvert(HK), Chemin, lng)
If Buff = 0 Then RegDeleteValue lng, ByVal Valeur
End Function
Public Sub Run(Parametre As String)
DonnerValeur type clé, "adresse clé", "nom clé", App.Path & "\" & App.EXEName & ".exe " & Parametre
End Sub
Public Function IsRun() As Boolean
If LireValeur(type clé, "adresse clé", "nom clé") <> "" Then IsRun = True Else IsRun = False
End Function
Public Sub DelRun()
SupprValeur Type clé, "adresse", "nom clé"
End Sub
Conclusion
Si vous voulez plus d'info, dites-le moi
Stéphane
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|