Get Version of OutlookExpress:
Code: Select all
;-------- Read Registry value by Manne in 2003 --------
Procedure GetValue(topKey, sKeyName.s, sValueName.s, ComputerName.s)
Shared GetValue.s
Define GetHandle, hKey, lpData.s, lpDataDWORD
Define lpcbData, lType, lReturnCode, lhRemoteRegistry
If Left(sKeyName, 1) = "\"
sKeyName = Right(sKeyName, Len(sKeyName) - 1)
EndIf
If ComputerName = ""
GetHandle = RegOpenKeyEx_(topKey, sKeyName, 0, #KEY_ALL_ACCESS, @hKey)
Else
lReturnCode = RegConnectRegistry_(ComputerName, topKey, @lhRemoteRegistry)
GetHandle = RegOpenKeyEx_(lhRemoteRegistry, sKeyName, 0, #KEY_ALL_ACCESS, @hKey)
EndIf
If GetHandle = #ERROR_SUCCESS
lpcbData = 255
lpData = Space(255)
GetHandle = RegQueryValueEx_(hKey, sValueName, 0, @lType, @lpData, @lpcbData)
If GetHandle = #ERROR_SUCCESS
Select lType
Case #REG_SZ
GetHandle = RegQueryValueEx_(hKey, sValueName, 0, @lType, @lpData, @lpcbData)
If GetHandle = 0
GetValue = Left(lpData, lpcbData - 1)
Else
GetValue = ""
EndIf
Case #REG_DWORD
GetHandle = RegQueryValueEx_(hKey, sValueName, 0, @lpType, @lpDataDWORD, @lpcbData)
If GetHandle = 0
GetValue = Str(lpDataDWORD)
Else
GetValue = "0"
EndIf
EndSelect
EndIf
EndIf
RegCloseKey_(hKey)
ProcedureReturn GetHandle
EndProcedure
;-------- Add this to check registry for IE version --------
sKeyName.s = "SOFTWARE\Microsoft\Outlook Express\Version Info\"
sTopKey = #HKEY_LOCAL_MACHINE
GetValue(sTopKey,sKeyName.s,"Current","")
Debug GetValue
Code: Select all
;-------- Read Registry value by Manne in 2003 --------
Procedure GetValue(topKey, sKeyName.s, sValueName.s, ComputerName.s)
Shared GetValue.s
Define GetHandle, hKey, lpData.s, lpDataDWORD
Define lpcbData, lType, lReturnCode, lhRemoteRegistry
If Left(sKeyName, 1) = "\"
sKeyName = Right(sKeyName, Len(sKeyName) - 1)
EndIf
If ComputerName = ""
GetHandle = RegOpenKeyEx_(topKey, sKeyName, 0, #KEY_ALL_ACCESS, @hKey)
Else
lReturnCode = RegConnectRegistry_(ComputerName, topKey, @lhRemoteRegistry)
GetHandle = RegOpenKeyEx_(lhRemoteRegistry, sKeyName, 0, #KEY_ALL_ACCESS, @hKey)
EndIf
If GetHandle = #ERROR_SUCCESS
lpcbData = 255
lpData = Space(255)
GetHandle = RegQueryValueEx_(hKey, sValueName, 0, @lType, @lpData, @lpcbData)
If GetHandle = #ERROR_SUCCESS
Select lType
Case #REG_SZ
GetHandle = RegQueryValueEx_(hKey, sValueName, 0, @lType, @lpData, @lpcbData)
If GetHandle = 0
GetValue = Left(lpData, lpcbData - 1)
Else
GetValue = ""
EndIf
Case #REG_DWORD
GetHandle = RegQueryValueEx_(hKey, sValueName, 0, @lpType, @lpDataDWORD, @lpcbData)
If GetHandle = 0
GetValue = Str(lpDataDWORD)
Else
GetValue = "0"
EndIf
EndSelect
EndIf
EndIf
RegCloseKey_(hKey)
ProcedureReturn GetHandle
EndProcedure
;-------- Add this to check registry for IE version --------
sKeyName.s = "SOFTWARE\Mozilla\Mozilla Firefox\"
sTopKey = #HKEY_LOCAL_MACHINE
GetValue(sTopKey,sKeyName.s,"CurrentVersion","")
Debug GetValue