Thebozo35 ... | Salut a tous, je me remet a VB car je n'y avait pas touché depuis ....arf... Donc voila, je suis confronté a un problème: je souhaite creer une cle dans la base de registre. je me suis inspiré de codes trouver un peu partout pour parvenir a mes fin mais voila, lorsque je lance cette action dans mon appli, RIEN NE SE PASSE....
Plus concrètement, l'action que je veux effectuer serai de désactiver le clic droit sur le bureau, il faut donc crée la cle "NoViewContextMenu" dans "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" et lui attribuer une valeur DWORD de 0 ou 1 que l'on veuille ou non désactiver celui ci.
Je ne conanis pas trop encore VB, mais je pense avoir bien suivi les explications pour l'ecriture dans le registre...
Voici le code:
Declarations:
Code :
- Option Explicit
- 'API utilisée pour fermer une clé ouverte
- Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal Hkey As Long) As Long
- 'efface une valeur de clé
- Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal Hkey As Long, ByVal lpValueName As String) As Long
- 'créé une clé registre
- Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
- 'affecte 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, lpData As Any, ByVal cbData As Long) As Long
- 'clé root Hkey Local Machine
- Private Const HKEY_LOCAL_MACHINE = &H80000002
- Private Const HKEY_CURRENT_USER = &H80000001
- 'ZONE TEST CLE DWORD
- Private Const REG_DWORD = 4
- 'type de clé REG_SZ
- Private Const REG_SZ = 1
|
Fonctions a lancer:
Code :
- Public Sub RightClic(ByVal bActivateOrNot As Boolean, Optional ByVal sFile As Long)
- 'Fonction qui active (ou non) le clic droit sur le bureau
- 'C'est une simple création de valeur de clé :
- 'Dans la clé :
- 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
- 'il faut modifier une cle DWORD
- 'de nom=NoViewContextMenu
- 'avec valeur=0 pour activer
- 'ou valeur=1 pour desactiver
- Dim lRet As Long, sPath2 As String, sName As String
- 'path de la clé
- sPath2 = "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
- 'nom de la clé
- sName = "NoViewContextMenu"
- If bActivateOrNot Then
- '//on ajoute la clé
- 'créé la clé
- RegCreateKey HKEY_CURRENT_USER, sPath2, lRet
- 'sauvegarde la string désirée dans la clé
- RegSetValueEx lRet, sName, 1, REG_DWORD, ByVal sFile, 4
- 'ferme la clé
- RegCloseKey lRet
- Else
- '//on ajoute la clé
- 'créé la clé
- RegCreateKey HKEY_CURRENT_USER, sPath2, lRet
- 'sauvegarde la string désirée dans la clé
- RegSetValueEx lRet, sName, 1, REG_DWORD, ByVal sFile, 4
- 'ferme la clé
- RegCloseKey lRet
- End If
- End Sub
- Private Sub rightClic_Off_Click()
- Dim sDonnee As String
- 'sDonnee est la valeur a attribuer a la clef: 0 pour desctiver, 1 pour activer
- sDonnee = 0
- RightClic False, sDonnee
- MsgBox "Clic Droit Sur le bureau desactivé", vbInformation, "Ok !"
- End Sub
- Private Sub rightClic_on_Click()
- Dim sDonnee As String
- sDonnee = 1
- RightClic True, sDonnee
- MsgBox "Clic Droit Sur le bureau activé", vbInformation, "Ok !"
- End Sub
|
je sais que sa peux saouler mais j'aimerai vraiment reussir a saisir comment effectuer l'ecriture dans la BDR, par exemple en connaissant a quoi correspondent les variables demandees...
Bref...jespere que vous reussirez a m'aider...
MERCI D'AVANNNCE!! |