par diarno » 04 Juin 2003 à 20:38
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 LongDeclare 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 LongDeclare Function RegCloseKey Lib "advapi32.dll" (Byval hKey As Long) As Long' définition du Long pour la clé:Const HKEY_LOCAL_MACHINE = &H80000002'Droits d'accès spécifiques au registreConst KEY_ALL_ACCESS = &H3FConst KEY_QUERY_VALUE = &H1Const KEY_ENUMERATE_SUB_KEYS = &H8Const KEY_NOTIFY = &H10Const KEY_READ = KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY 'Types prédéfinis des valeursConst REG_NONE = (0) 'No value typeConst REG_SZ = (1) 'Unicode nul terminated stringConst REG_BINARY = (3) 'Free form binaryConst REG_DWORD = (4) '32-bit numberSub Click(Source As Button) Messagebox(RecupNomStation) End SubFunction RecupNomStation() As String Dim NomStationRecupere As String NomStationRecupere = Lit_Valeur_Registre( "System\CurrentControlSet\Control\ComputerName\ComputerName" , "ComputerName" ) If NomStationRecupere = "NOK" Then RecupNomStation = "Non trouvé" Else RecupNomStation = NomStationRecupere End If End FunctionFunction Lit_Valeur_Registre( NomCle As String , NomValeurALire As String ) As String Dim HandleRetourCleOuverte As Long Dim TailleValeurLue As Long Dim ContenuValeurLue As String If RegOpenKeyEx(HKEY_LOCAL_MACHINE, NomCle , 0, KEY_READ , HandleRetourCleOuverte) <> ERROR_SUCCESS Then Lit_Valeur_Registre = "NOK" Else ContenuValeurLue = Space(80)'??????? TailleValeurLue = Len( ContenuValeurLue ) If RegQueryValueEx( HandleRetourCleOuverte , Byval NomValeurALire , 0 , REG_SZ, Byval ContenuValeurLue , TailleValeurLue ) <> ERROR_SUCCESS Then Lit_Valeur_Registre = "NOK" Else Lit_Valeur_Registre = ContenuValeurLue End If End If RegCloseKey(HandleRetourCleOuverte)'a quoi ca sert ca End Function