Get Internet Explorer version: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (Adding new author and category links.)
Line 8: Line 8:
; GetIEVersion
; GetIEVersion
;
;
; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
; Based on Yazno's function, http://yazno.tripod.com/
; Updated 2007-06-02 Ch. Bergmann (Yazno)
; Returns on top of stack
; Returns on top of stack
; 1-6 (Installed IE Version)
; 1-7 (Installed IE Version)
; or
; or
; '' (IE is not installed)
; '' (IE is not installed)
Line 23: Line 24:
   ClearErrors
   ClearErrors
   ReadRegStr $R0 HKLM "Software\Microsoft\Internet Explorer" "Version"
   ReadRegStr $R0 HKLM "Software\Microsoft\Internet Explorer" "Version"
   IfErrors lbl_123 lbl_456
   IfErrors lbl_123 lbl_4567


   lbl_456: ; ie 4+
   lbl_4567: ; ie 4+
     Strcpy $R0 $R0 1
     Strcpy $R0 $R0 1
   Goto lbl_done
   Goto lbl_done

Revision as of 09:32, 2 June 2007

Author: sunjammer (talk, contrib)


Description

This function gets the major version of Microsoft Internet Explorer the user uses.

The Function

; GetIEVersion
;
; Based on Yazno's function, http://yazno.tripod.com/
; Updated 2007-06-02 Ch. Bergmann (Yazno)
; Returns on top of stack
; 1-7 (Installed IE Version)
; or
; '' (IE is not installed)
;
; Usage:
;   Call GetIEVersion
;   Pop $R0
;   ; at this point $R0 is "5" or whatnot
 
Function GetIEVersion
  Push $R0
  ClearErrors
  ReadRegStr $R0 HKLM "Software\Microsoft\Internet Explorer" "Version"
  IfErrors lbl_123 lbl_4567
 
  lbl_4567: ; ie 4+
    Strcpy $R0 $R0 1
  Goto lbl_done
 
  lbl_123: ; older ie version
    ClearErrors
    ReadRegStr $R0 HKLM "Software\Microsoft\Internet Explorer" "IVer"
    IfErrors lbl_error
 
      StrCpy $R0 $R0 3
        StrCmp $R0 '100' lbl_ie1
        StrCmp $R0 '101' lbl_ie2
        StrCmp $R0 '102' lbl_ie2
        StrCpy $R0 '3' ; default to ie3 if not 100, 101, or 102.
        Goto lbl_done
          lbl_ie1:
            StrCpy $R0 '1'
          Goto lbl_done
          lbl_ie2:
            StrCpy $R0 '2'
          Goto lbl_done
       lbl_error:
         StrCpy $R0 ''
   lbl_done:
   Exch $R0
FunctionEnd