J'ai besoin de votre aide pour faire évoluer mon petit programme, et pour cela je dois vérifier la valeur de "BIOS" dans le registre :
Chemin complet :RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS", "BIOSVersion")
Le soucis est que sur certains modèles cette valeur est juste la version du BIOS ex: 320
et sur d'autres la valeur comprend le modèle ex: x540ya.320
Actuellement mon programme propose un mode "DT & AIO" qui résout le problème, mais j'aimerais le simplifier et tout afficher directement sur une seule GUI.
La Question est donc es t'il possible de comparer 3 variables ex :"if $versionB >= $versionD and $versionE"
A chaque tentative une seule des 2 variables est prise en compte.
J'ai aussi tenté de récupérer la valeur du BIOS après le "." avec un stringsplit sans succès.
J'ai éssayer pas mal de chose trouver sur des forums mais rien n'a fonctionné, ou je n'ai pas su adapter les solutions proposer.
Code : Tout sélectionner
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=solvarea.ico
#AutoIt3Wrapper_Compile_Both=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include "GUIConstantsEx.au3"
#include "StaticConstants.au3"
#include "WindowsConstants.au3"
#include "ColorConstants.au3"
; ########## Début de la création de la GUI 1 ##########
Local $Model = RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS", "BaseBoardProduct") ;Récupération du modèle
Local $VersionB = RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS", "Biosversion") ;Récupération de la version du BIOS
Local $NB_BIOS = "" ; Récupération de la valeur dans le fichier NB_BIOS
$SPN = RegRead("HKLM\HARDWARE\DESCRIPTION\System\BIOS", "BaseBoardProduct")
$NB_BIOS = IniRead("NB_BIOS.ini", "BIOS", $SPN, "")
Local $VersionD = ($Model & '.' & $NB_BIOS)
$GUI1 = GUICreate("Verbios 7.0", 400, 400, -1, -1) ; Création de la GUI1
$fond = GUICtrlCreatePic("LOGO.jpg", 0, 10, 400, 90)
GUICtrlSetState($Fond, $GUI_DISABLE)
Opt("GUICoordMode", 5)
$Lb1 = GUICtrlCreateLabel("Modele", 70, 110, 320, 24) ; Création du label1
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label1)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Lb11 = GUICtrlCreateLabel(" = " & $Model, 250, 110, 320, 24) ; Création du label1
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label1)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Lb2 = GUICtrlCreateLabel("Version Installee", 70, 140, 320, 24) ; Création du label2
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label2)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$lb21 = GUICtrlCreateLabel(" = " & $VersionB, 250, 140, 320, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label1)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Lb3 = GUICtrlCreateLabel("Version à Jour", 70, 170, 320, 24) ; Création du label3
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label3)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Lb31 = GUICtrlCreateLabel(" = " & $NB_BIOS, 250, 170, 320, 24) ; Création du label1
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label1)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transpare
If ($VersionB >= $VersionD) Then
$Lb4 = GUICtrlCreateLabel("BIOS A JOUR", 110, 200, 320, 24) ; Création du label4
GUICtrlSetFont(-1, 20, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label4)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetColor(-1, $color_green)
Else
$Lb4 = GUICtrlCreateLabel("BIOS PAS A JOUR", 75, 200, 320, 24) ; Création du label4
GUICtrlSetFont(-1, 20, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label4)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetColor(-1, $color_red)
EndIf
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Btn1 = GUICtrlCreateButton("Quitter", 216, 240, 150, 25) ; Création d'un bouton simple
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Btn2 = GUICtrlCreateButton("MODE DT & AIO", 33, 240, 150, 25) ; Création d'un bouton simple
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
; ########## Fin de la création de la GUI 1 ##########*
; ########## Début de la création de la GUI 2 ##########
Local $Model = RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS", "BaseBoardProduct") ;Récupération du modèle
Local $VersionB = RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS", "Biosversion") ;Récupération de la version du BIOS
Local $NB_BIOS = "" ; Récupération de la valeur dans le fichier NB_BIOS
$SPN = RegRead("HKLM\HARDWARE\DESCRIPTION\System\BIOS", "BaseBoardProduct")
$NB_BIOS = IniRead("NB_BIOS.ini", "BIOS", $SPN, "")
Local $VersionD = ($NB_BIOS)
$GUI2 = GUICreate("Verbios 7.0", 400, 400, -1, -1) ; Création de la GUI1
$fond = GUICtrlCreatePic("LOGO.jpg", 0, 10, 400, 90)
GUICtrlSetState($Fond, $GUI_DISABLE)
Opt("GUICoordMode", 5)
$Lb1 = GUICtrlCreateLabel("Modele", 70, 110, 320, 24) ; Création du label1
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label1)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Lb11 = GUICtrlCreateLabel(" = " & $Model, 250, 110, 320, 24) ; Création du label1
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label1)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Lb2 = GUICtrlCreateLabel("Version Installee", 70, 140, 320, 24) ; Création du label2
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label2)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$lb21 = GUICtrlCreateLabel(" = " & $VersionB, 250, 140, 320, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label1)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Lb3 = GUICtrlCreateLabel("Version à Jour", 70, 170, 320, 24) ; Création du label3
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label3)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Lb31 = GUICtrlCreateLabel(" = " & $NB_BIOS, 250, 170, 320, 24) ; Création du label1
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label1)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transpare
If ($VersionB >= $VersionD) Then
$Lb4 = GUICtrlCreateLabel("BIOS A JOUR", 110, 200, 320, 24) ; Création du label4
GUICtrlSetFont(-1, 20, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label4)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetColor(-1, $color_green)
Else
$Lb4 = GUICtrlCreateLabel("BIOS PAS A JOUR", 75, 200, 320, 24) ; Création du label4
GUICtrlSetFont(-1, 20, 800, 0, "MS Sans Serif") ; Mise en gras du texte du contrôle précédent (Label4)
GUICtrlSetState(-1, $GUI_ONTOP)
GUICtrlSetColor(-1, $color_red)
EndIf
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Btn3 = GUICtrlCreateButton("Quitter", 216, 240, 150, 25) ; Création d'un bouton simple
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
$Btn4 = GUICtrlCreateButton("MODE NB", 33, 240, 150, 25) ; Création d'un bouton simple
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) ; Arrière plan du label transparent
; ########## Fin de la création de la GUI 2 ##########
GUISetState(@SW_SHOW, $GUI1) ; On affiche la GUI1
While 1 ; Début de la boucle infinie
$nMsg = GUIGetMsg() ; Récupération des messages GUI
Switch $nMsg ; Début du sélecteur de cas
Case $GUI_EVENT_CLOSE ; Si clic fermeture fenêtre GUI1
MsgBox(64, "", _
@CRLF & "Merci d'avoir utiliser VERBIOS!!") ; Message
Exit ; Fin du script
Case $Btn1
MsgBox(64, "", _
@CRLF & "Merci d'avoir utiliser VERBIOS!!") ; Message
Exit ; Fin du script
GUISetState($GUI_EVENT_CLOSE) ; On ferme la fenetre
Case $Btn2
GUISetState(@SW_HIDE, $GUI1) ; On masque la GUI 1
GUISetState(@SW_SHOW, $GUI2) ; On affiche la GUI 2
Case $Btn4
GUISetState(@SW_HIDE, $GUI2) ; On masque la GUI 2
GUISetState(@SW_SHOW, $GUI1) ; On affiche la GUI 1
Case $Btn3
MsgBox(64, "", _
@CRLF & "Merci d'avoir utiliser VERBIOS!!") ; Message
Exit ; Fin du script
GUISetState($GUI_EVENT_CLOSE) ; On ferme la fenetre
EndSwitch ; Fin du sélecteur de cas
WEnd ; Fin de la boucle infinie
Merci