Le voici tel quel :
Fichier : OsTest.au3
Code : Tout sélectionner
#include-once
; ------------------------------------------------------------------------------
;
; AutoIt Version: 3.1.1++
; Language: French/English
; Description: Functions that assist with OS controls.
; author: Tlem
;
; ------------------------------------------------------------------------------
Switch @OSLang
; French
Case "040c"
Dim $ErrOs[5] = ["", "OS Erreur", "OS Non Supporter", "Type d'OS Non Supporter", "Build Non Conforme"]
; Other Language
Case Else
Dim $ErrOs[5] = ["", "OS Error", "OS Not Supported", "OS Type Not Supported", "Build Not Conform"]
EndSwitch
; Examples :
; $Res = _IsOsVersionValid(1,1,0,1,1,1,1,1,1)
; $Res = _IsOsTypeValid(0,1,0)
; MsgBox(0,"",@OSBuild)
$Res = _IsOsBuildValid ("2600" ,1, 0)
MsgBox(64,"Infos", "Le résultat de la commande est : " & $Res)
;===============================================================================
; Description: Returns or show error if OS is not supported.
; Parameter(s): $W_Vista - Windows Vista
; $W_2003 - Windows 2003
; $W_XP - Windows XP
; $W_2000 - Windows 2000
; $W_NT4 - Windows NT4
; $W_ME - Windows 98 ME
; $W_98 - Windows 98
; $W_95 - Windows 95
; $ErrMsg - Show Error message (1 = Yes / 0= No)
; Requirement(s): None
; Return Value(s): On Success - Returns 0.
; On Failure - Returns 1 or 2 if OS is Unknown.
;
; Author(s): Tlem (tlem "at" tuxolem "dot" net)
; Note(s):
; Example: Only Vista and XP With Error Message :
; _IsOsVersionValid(1,0,1,0,0,0,0,0,1)
;===============================================================================
Func _IsOsVersionValid ($W_Vista=0, $W_2003=0, $W_XP=0, $W_2000=0, $W_NT4=0, $W_ME=0, $W_98=0, $W_95=0, $ErrMsg=0)
Local $Error=0
Switch @OSVersion
Case "WIN_VISTA"
If Not $W_Vista Then $Error=1
Case "WIN_2003"
If Not $W_2003 Then $Error=1
Case "WIN_XP"
If Not $W_XP Then $Error=1
Case "WIN_2000"
If Not $W_2000 Then $Error=1
Case "WIN_NT4"
If Not $W_NT4 Then $Error=1
Case "WIN_ME"
If Not $W_ME Then $Error=1
Case "WIN_98"
If Not $W_98 Then $Error=1
Case "WIN_95"
If Not $W_95 Then $Error=1
Case Else
$Error=2
EndSwitch
If $Error And $ErrMsg Then Msgbox(16,$ErrOs[1],$ErrOs[2])
Return $Error
EndFunc
;===============================================================================
; Description: Returns or show error if OS Type is not supported.
; Parameter(s): $W32_NT - NT/2000/XP/2003/Vista OS Type
; $W32 - 95/98/Me OS Type
; $ErrMsg - Show Error message (1 = Yes / 0= No)
; Requirement(s): None
; Return Value(s): On Success - Returns 0.
; On Failure - Returns 1 or 2 if OS Type is Unknown.
;
; Author(s): Tlem (tlem "at" tuxolem "dot" net)
; Note(s):
; Example: Only Win32_NT Type With Error Message :
; _IsOsTypeValid(1,0,1)
;===============================================================================
Func _IsOsTypeValid ($W32_NT=0, $W32=0, $ErrMsg=0)
Local $Error=0
Switch @OSTYPE
Case "WIN32_NT"
If Not $W32_NT Then $Error=1
Case "WIN32_WINDOWS"
If Not $W32 Then $Error=1
Case Else
$Error=2
EndSwitch
If $Error And $ErrMsg Then Msgbox(16,$ErrOs[1],$ErrOs[3])
Return $Error
EndFunc
;===============================================================================
; Description: Returns or show error if OS Build is not conform.
; Parameter(s): $Build - Build Version
; $Status - 0 Or "Min" For Build Minimum
; 1 Or "Equ" For Build Equal
; 2 Or "Max" For Build Maximum
; $ErrMsg - Show Error message (1 = Yes / 0= No)
; Requirement(s): None
; Return Value(s): On Success - Returns 0
; On Failure - Returns 1
; On Unknown Erreur - Return 2
;
; Author(s): Tlem (tlem "at" tuxolem "dot" net)
; Note(s):
; Example: Only Build 2600 and after With Error Message :
; _IsOsBuildValid("2600",1,1)
;===============================================================================
Func _IsOsBuildValid ($Build, $Status, $ErrMsg=0)
Local $Error=0
Switch $Status
Case "Min", 0
If @OSBuild < $Build Then $Error=1
Case "Equ", 1
If @OSBuild <> $Build Then $Error=1
Case "Max", 2
If @OSBuild > $Build Then $Error=1
Case Else
$Error=2
EndSwitch
If $Error And $ErrMsg Then Msgbox(16,$ErrOs[1],$ErrOs[4])
Return $Error
EndFunc