; **************************************************************************** ; * By PBFrance : http://www.pbfrance.com/?url=source&cmd=viewer&val=80 ; **************************************************************************** ; ; ROUTINE DE LECTURE DES CLEFS DE REGISTRE. ; #KEY_WOW64_64KEY = $100 #KEY_WOW64_32KEY = $200 Procedure.s ReadRegKey(OpenKey.i, SubKey.s, ValueName.s) ; ROUTINE DE LECTURE DE CLEF DE REGISTRES. Define iRes.i = 0 Define hKey.i = 0 Define DataSize.i = 255 Define KeyValue.s = Space(DataSize) If Left(SubKey, 1) = "\" SubKey = Right(SubKey, Len(SubKey) - 1) EndIf If OSVersion() <= #PB_OS_Windows_2000 iRes = RegOpenKeyEx_(OpenKey, SubKey, 0, #KEY_READ | #KEY_WOW64_32KEY, @hKey) Else iRes = RegOpenKeyEx_(OpenKey, SubKey, 0, #KEY_READ | #KEY_WOW64_64KEY, @hKey) EndIf If iRes KeyValue = #Null$ Else If RegQueryValueEx_(hKey, ValueName, 0, 0, @KeyValue, @DataSize) KeyValue = #Null$ Else KeyValue = Left(KeyValue, DataSize - 1) EndIf RegCloseKey_(hKey) EndIf ProcedureReturn KeyValue EndProcedure ; ; LECTURE DES CLEFS DE REGISTRE DE VERSION. ; Define sCurrentVer.s = ReadRegKey(#HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentVersion") Define sCurrentBld.s = ReadRegKey(#HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentBuild") ; ; RESULTAT DE LA VERSION DE WINDOWS. ; Debug sCurrentVer + "." + sCurrentBld