Sign in to follow this  
Followers 0
Chimaera

Refresh everything in the GUI

16 posts in this topic

Been doing some searching for a refresh button but i need it to refresh everything in the gui

Im doing sort of a basic gui with a check sheet so that we can run it on a machine after work has finished to see what is left to do like 

does the internet work, can you hear audio, Is the machine activated  etc

There will be red crosses and green ticks and after something has been fixed i need to refresh it so the ticks change colour if a task is completed

I see there are bits about refreshing certain sections or buttons but i cant seem to find anything about refresh the whole gui

That is one example i found about refresh another suggestion was AdLibregister but that didnt seem quite what i wanted

So is there a simple way to refresh a Gui and everything in it ?

The gui only contains the functions to check internet etc etc and a few labels

Share this post


Link to post
Share on other sites



No, there's no simple  way to do that. You'd need to reset every control, label, etc. that's in/on the GUI individually.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Ok no problem i had a feeling that would be the case

I will have to tie the button to a function then run the checks one after another like the melba example i guess

Many thanks

Share this post


Link to post
Share on other sites

not sure if this will give desired effect, couldn't hurt to try.

_WinAPI_RedrawWindow ($GUI)

if @error Then
	MsgBox(262192,"",@ComputerName&" slaps "&@UserName&" around a bit with a large trout!")
	EndIf

>Exit code: 0

REAL search results

"Yeah yeah yeah, patience. How long will that take?"  -Ed Gruberman

Share this post


Link to post
Share on other sites

Quick example

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

Example1()
Func Example1()
   $hGUI = GUICreate("Example1", 300, 200)

   ;    Create a Dummy and set it to the position of the $lblOne
   $dmyBegin = GUICtrlCreateDummy() + 1
   $lblOne = GUICtrlCreateLabel("Check Cable", 10, 10, 100, 20)
   $lblTwo = GUICtrlCreateLabel("Check Internet", 10, 30, 100, 20)
   $lblThree = GUICtrlCreateLabel("Restart computer", 10, 50, 100, 20)
   $dmyEnd = GUICtrlCreateDummy()
   ;    $dmyEnd is set to one past $lblThree
   ;    $currentLabel sets the position of which label to update. It starts at 1.
   $currentLabel = $dmyBegin
   $btnUpdate = GUICtrlCreateButton("Update", 10, 70, 50, 20)

   GUISetState(@SW_SHOW)
   While 1
      Switch GUIGetMsg()
      Case $GUI_EVENT_CLOSE
         Exit
      Case $btnUpdate
         updateLabel($currentLabel, $dmyEnd)
      EndSwitch
   WEnd
EndFunc

;    Passing ByRef means it changes the variable in the updateLabel function and updates the variable in the Example1 function
Func updateLabel(ByRef $label, $end)
   ;    Check to make sure we haven't already updated everything
   If $label = $end Then
      MsgBox("","Error", "Every label is already updated!")
      Return
   ;    Update the next label
   Else
      GUICtrlSetColor($label, 0x00FF00)
      ;    Add 1 to the label so it updates the next one when we call the function again. You don't have to use ByRef, you could do $currentLabel += 1 in the Example1 function instead
      $label += 1
   EndIf
EndFunc

In short, $lblOne = 1, $lblTwo = 2, $lblThree = 3, and $dmyBegin = 1 (I started it at 0 but added 1 to it to set it to the first label)

Share this post


Link to post
Share on other sites

Thx for the suggestions ill have a look

@InunoTaishou

What im trying to do is have a button that will refresh all the parts of the gui everytime you press the button not one at a time.

So if i have a fault in device manager it shows a red cross on the gui so i go and fix the drivers that are faulty then press the refresh button and it will turn into a green tick as the problem has been resolved in device manager.

Its kinda like a running checklist for the tech to see whats wrong and left to do on a machine with a refresh button to recheck 

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

I did a similare script ... my methode was clearly to refresh each thing one after one...

 

I used a $Scanrefresh100 variable, my sleep in the general script is 20 ms then i used after each command or function : $Debutscan100=99

After each while a

$Debutscan100= $Debutscan100 +1

and at the end of my script a scan section with alllllll the needed refresh command with a contition...

If

$Debutscan100= 100 then

endif

and at the end of the scan section a $Debutscan100= 0

So this logic help me to refresh all label without spam the process

Refresh label 1 etc....

If you need the exemple i post my script...

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.12.0
 Author:         myName

 Script Function:
    Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Début du script
   #include <GUIConstantsEx.au3>
   #include <WindowsConstants.au3>
   #include <Array.au3>
   #include <File.au3>
   #include <FileConstants.au3>
   #include <MsgBoxConstants.au3>
   #include <ColorConstantS.au3>
   #include <ButtonConstants.au3>
   #include <EditConstants.au3>
   #include <ListViewConstants.au3>
   #include <GuiListView.au3>
   #include <ProgressConstants.au3>
   #include <StaticConstants.au3>
   #include <GDIPlus.au3>
   #include <WinAPI.au3>



Global $FileCount = 0
Global $CopiedCount = 0
Global $FolderCount = 0
Global $p = 0
Global $si = 0
Global $Status, $Progress, $SourceDirSize, $SourceSizeMB, $FinalDestSize, $gui, $Source


MsgBox ( $MB_SYSTEMMODAL , "Migration V3.3", @CRLF & "     Fait par Savane: www.groupe-Savane.com " & @CRLF & "     Pour Ecolab: www.Ecolab.com" &  @CRLF  & "    Développer par Jordane Guemara: Caramen94@hotmail.com")

   HotKeySet("{ESCAPE}", "Exite")
   HotKeySet("{PAUSE}", "Pause")

   $SettingsFile = @SCRIPTDIR & '\Settings.ini'


   Global $Paused




   $S1 = IniRead ($SettingsFile, 'Stats', 'Utilisation', "ERROR")
   IniWrite ($SettingsFile, 'Stats', 'Utilisation',$S1+1)


Global $UserOK=0
Global $aFileList
Global $ScanUAC
Global $ScanSEP
Global $ScanSEPDEF
Global $ScanROutlook
Global $ScanPrinters
Global $ScanKB
Global $ScanUIFR
Global $Debutscan100=0
Global $UID1= "***"
Global $UID= "***"
Global $Password = "***"
Global $Label
Global $Label2
Global $ScanBoxITEM
;~ =====================================GUI1================================================
       ; Creation de l'interface
       Global $hGUI = GUICreate("Migration profil", 900, 500)

      GUISetBkColor($COLOR_RED)

       ; Creation de la liste de checkbox XP
       GUICtrlCreateGroup ("Migration de profil XP.", 5, 20, 345, 180)
       GUICtrlCreateLabel ("Dossier desiré :", 10, 52, 75, 20)
       Global $iCheckbox0 = GUICtrlCreateCheckbox("Bureau", 90, 50, 120, 20)
       Global $iCheckbox1 = GUICtrlCreateCheckbox("Mes documents", 90, 70, 120, 20)
       Global $iCheckbox2 = GUICtrlCreateCheckbox("Mes images", 90, 90, 120, 20)
       Global $iCheckbox3 = GUICtrlCreateCheckbox("Favoris", 90, 110, 120, 20)
       Global $iCheckbox4 = GUICtrlCreateCheckbox("Data Outlook", 90, 130, 120, 20)
       Global $iCheckbox5 = GUICtrlCreateCheckbox("Signature Outlook", 90, 150, 120, 20)
       Global $iCheckbox6 = GUICtrlCreateCheckbox("Fichier Planitech", 90, 170, 120, 20)

       ; Creation de la input liste Outlook
       GUICtrlCreateGroup ("Archivage auto.", 350, 20, 155, 180)
       GUICtrlCreateLabel ("Archivage :", 365, 50, 60, 20)
       Global $iInput0 = GUICtrlCreateinput("ON", 440, 50, 50, 20)
       GUICtrlCreateLabel ("Cycle Jours :", 365, 70, 60, 20)
       Global $iInput1 = GUICtrlCreateinput("14", 440, 70, 50, 20)
       GUICtrlCreateLabel ("Cycle mois :", 365, 90, 60, 20)
       Global $iInput2 = GUICtrlCreateinput("2", 440, 90, 50, 20)
       GUICtrlCreateLabel ("Prompt :", 365, 110, 60, 20)
       Global $iInput3 = GUICtrlCreateinput("OFF", 440, 110, 50, 20)
       GUICtrlCreateLabel ("Old items :", 365, 130, 60, 20)
       Global $iInput4 = GUICtrlCreateinput("Moved", 440, 130, 50, 20)
       GUICtrlCreateLabel ("Mailbox items :", 365, 150, 65, 20)
       Global $iInput5 = GUICtrlCreateinput("NotDelet", 440, 150, 50, 20)


       ; Creation de la liste de checkbox seven
       GUICtrlCreateGroup ("Migration de profil Seven.", 505, 20, 375, 180)
       GUICtrlCreateLabel ("Dossier desiré :", 510, 52, 75, 20)
       Global $iCheckbox00 = GUICtrlCreateCheckbox("Bureau", 590, 50, 190, 20)
       Global $iCheckbox11 = GUICtrlCreateCheckbox("Mes documents", 590, 70, 190, 20)
       Global $iCheckbox22 = GUICtrlCreateCheckbox("Mes images", 590, 90, 190, 20)
       Global $iCheckbox33 = GUICtrlCreateCheckbox("Favoris", 590, 110, 190, 20)
       Global $iCheckbox44 = GUICtrlCreateCheckbox("Data Outlook", 590, 130, 210, 20)
       Global $iCheckbox55 = GUICtrlCreateCheckbox("Signature Outlook", 590, 150, 190, 20)
       Global $iCheckbox66 = GUICtrlCreateCheckbox("Fichier Planitech", 590, 170, 190, 20)


         ;Liste des buttoms
            ;Outlook
       Global $iOutConf = GUICtrlCreateButton("Go Config", 360, 175, 70, 20) ;Outlook
       Global $iOutDef = GUICtrlCreateButton("Défault", 425, 175, 70, 20) ;Outlook
            ;Colonne 1
       Global $iClose = GUICtrlCreateButton("Quitter", 280, 450, 85, 25) ;Quitter
       Global $iConnect1 = GUICtrlCreateButton("Sauvegarde", 260, 48, 85, 25) ;XP
       Global $iConnect2 = GUICtrlCreateButton("Réstauration", 260, 88, 85, 25) ;XP
       Global $iConnect3 = GUICtrlCreateButton("Sauvegarde", 780, 48, 85, 25) ;Seven
       Global $iConnect4 = GUICtrlCreateButton("Réstauration", 780, 88, 85, 25) ;Seven
       Global $iConnect5 = GUICtrlCreateButton("Gestionnaire de périphériques", 80, 255, 155, 25)
       Global $iConnect6 = GUICtrlCreateButton("Raccourcis Outlook",80, 305, 100, 25) ;XP
       Global $iConnect7 = GUICtrlCreateButton("Imprimante", 80, 380 , 85, 25)
       Global $UAC = GUICtrlCreateButton("Désactivé l'UAC", 80, 230, 85, 25)
       Global $Langues = GUICtrlCreateButton("Langue FR", 80, 355, 85, 25)
       Global $Outlook = GUICtrlCreateButton("Outlook En Francais", 80, 330, 105, 25)
       Global $SEP = GUICtrlCreateButton("Update SEP 11", 80, 280, 85, 25)
            ;Colonne 2
       Global $MakeUser = GUICtrlCreateButton("Creer User sur Key", 240, 230, 100, 25)
       Global $Variable1 = GUICtrlCreateButton("Clean raccourcis", 240, 255, 100, 25)
       Global $Variable2 = GUICtrlCreateButton("Num pc", 240, 280, 100, 25)
       Global $Variable3 = GUICtrlCreateButton("Fonction dispo 3", 240, 305, 100, 25)
       Global $Variable4 = GUICtrlCreateButton("Fonction dispo 4", 240, 330, 100, 25)
       Global $Variable5 = GUICtrlCreateButton("Fonction dispo 5", 240, 355, 100, 25)
       Global $Variable6 = GUICtrlCreateButton("Fonction dispo 6", 240, 380, 100, 25)

       ;Console images
       $ImageUAC = GUICtrlCreateLabel ("UAC: "  , 360, 230, 170, 180)
       $ImageNUMPC = GUICtrlCreateLabel ("Num_PC: " , 510, 230, 170, 180)
       $ImageARCHIVE = GUICtrlCreateLabel ("Archivage: " , 660, 230, 170, 180)

       $ImageUAClabel = GUICtrlCreateLabel ("   "  , 400, 225, 20, 20)
       $ImageNUMPClabel = GUICtrlCreateLabel ("   " , 570, 225, 20, 20)
       $ImageARCHIVElabel = GUICtrlCreateLabel ("   " , 730, 225, 20, 20)

       ;Console system
       GUICtrlCreateGroup ("Informations système", 745, 260, 135, 180)
       GUICtrlCreateLabel ("User: " & @UserName, 750, 290,120 , 20)
       GUICtrlCreateLabel ("Hostname: " & @ComputerName, 750, 310, 120, 20)
       GUICtrlCreateLabel ("Cpu: " & @CPUArch , 750, 330, 120, 20)
       GUICtrlCreateLabel ("Ip Ntw 1: " & @IPAddress1 , 750, 350, 120, 20)
       GUICtrlCreateLabel ("Ip Ntw 2: " & @IPAddress2 , 750, 370, 120, 20)
       GUICtrlCreateLabel ("Domaine: " & @LogonDomain , 750, 390, 120, 20)


       ;Console Migration
       GUICtrlCreateGroup ("Statut migration : ", 540, 260, 195, 200)
       $ScanUAC = GUICtrlCreateLabel ("Etat UAC : Recherche en cours...", 545, 290, 185, 20)
       $ScanSEP = GUICtrlCreateLabel ("Version SEP : Recherche en cours... ", 545, 310, 185, 20)
       $ScanSEPDEF = GUICtrlCreateLabel ("Def. SEP : Recherche en cours... ", 545, 330, 185, 20)
       $ScanROutlook = GUICtrlCreateLabel ("Raccourcis Outlook : Recherche ... ", 545, 350, 185, 20)
       $ScanNUMPC = GUICtrlCreateLabel ("Num_PC : Recherche en cours... "  , 545, 370, 185, 20)
;      $ScanUIFR = GUICtrlCreateLabel ("Langue System : Recherche en cours... " , 545, 390, 185, 20)
       $ScanPrinters = GUICtrlCreateLabel ("File d'impression Arceuil : Recherche... " , 545, 410, 185, 20)
       $UserOK = GUICtrlCreateLabel ("Recherche utilisateur sur la clef... " , 545, 430, 185, 20)

       ;Console Archivage
       GUICtrlCreateGroup ("Statut Archivage : ", 360, 260, 170, 180)
       $ScanArchivage = GUICtrlCreateLabel ("Archivage auto : ... ...", 380, 290, 145, 20)
       $ScanCycleJours = GUICtrlCreateLabel ("Cycle Jours : ... ...", 380, 310, 145, 20)
       $ScanCycleMois = GUICtrlCreateLabel ("Cycle mois : ... ...", 380, 330, 145, 20)
       $ScanPrompt = GUICtrlCreateLabel ("Prompt : ... ...", 380, 350, 145, 20)
       $ScanOldItems = GUICtrlCreateLabel ("Old Items : ... ..."  , 380, 370, 145, 20)
       $ScanBoxITEM = GUICtrlCreateLabel ("Mailbox Items : ... ... " , 380, 390, 145, 20)
       ;$ScanPrinters = GUICtrlCreateLabel ("File d'impression Arceuil : Recherche... " , 545, 410, 185, 20)
       ;$UserOK = GUICtrlCreateLabel ("Recherche utilisateur sur la clef... " , 545, 430, 185, 20)

         ;GUICtrlCreateLabel ("Archivage :", 365, 50, 60, 20)
       ;Global $iInput0 = GUICtrlCreateinput("ON", 440, 50, 50, 20)
       ;GUICtrlCreateLabel ("Cycle Jours :", 365, 70, 60, 20)
       ;Global $iInput1 = GUICtrlCreateinput("14", 440, 70, 50, 20)
       ;GUICtrlCreateLabel ("Cycle mois :", 365, 90, 60, 20)
       ;Global $iInput2 = GUICtrlCreateinput("2", 440, 90, 50, 20)
       ;GUICtrlCreateLabel ("Prompt :", 365, 110, 60, 20)

       ;~ Interrieure de la GUI

       GUICtrlCreateLabel ("____________________________________________________________________________________________________________________________________________________________", 10, 200, 880, 20)
       GUICtrlCreateLabel ("Nombre d'utilisation logiciel :" , 10, 452, 175, 20)
       $S1 = IniRead ($SettingsFile, 'Stats', 'Utilisation', "ERROR")
       GUICtrlCreateLabel ($S1, 150, 452, 75, 20)

;~  ================================Text defilant==========================================
;~ ========================================================================================

         $Label = GUICtrlCreateLabel("Touche [Echap] pour quitter. Selectionnez vos dossiers puis [Sauvegarde] ou [Réstauration].||| Archivage auto : ON / OFF.||| Cycle jours 1>20 ; Cycle moi 1>6.||| Prompt : ON / OFF. ||| Old Items : Moved / Deleted.                                          ", 100 ,0 , 1000, 15)
         Global $px = 0 , $speed = 10

         $Label2 = GUICtrlCreateLabel("Touche [Echap] pour quitter. Selectionnez une action.", 100 ,215 , 300, 15)
         Global $px2 = 0 , $speed = 10
;~ ========================================================================================

       GUISetState(@SW_SHOW, $hGUI)

;~ ========================================GUI CONSOLE ====================================================================================================================================================================================================================================

       Global $Console = GUICreate("Console", 300, 300)
       Global $ConsoleArea = GUICtrlCreateListView("Console                                      ", 10,10 , 280, 280,$LVS_REPORT)
       GUISetState(@SW_HIDE, $Console)
;~ ===========================================Fin de la console=========================================================================================================================================================================================


       While (1)

;~  ================================Text defilant==========================================
;~ ========================================================================================
         $px -= 1
         GUICtrlSetPos($label, $px, 0)
         if $px < -200 then $px = 300

         $px2 -= 1
         GUICtrlSetPos($label2, $px2, 215)
         if $px2 < -100 then $px2 = 100
;~ ========================================================================================

          Sleep (20)
; Début des conditions
          Switch GUIGetMsg()
               Case $GUI_EVENT_CLOSE, $iClose
                     GUISetState(@SW_HIDE, $hGUI)

                     Exit
;============================================================================================
;= = = == = = = = = = = = = = = = = = ==================Bouton Save XP=======================================================
               Case $iConnect1 ;Save XP


               While (1)
                  $Os = (@OSVersion)
                  If $Os = ("WIN_XP") Then

                     If _IsChecked($iCheckbox1) Then

                  ;Copy de mes documents

                           $Source = "D:\Documents and Settings\" & @UserName & "\My Documents"
                           $Dest =  @ScriptDir & "\Profil Save\" & @UserName & "\Documents\"
                           $GuiTitle = "Copy...Mes documents"


                           Local $GIU11 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU11)

                           _GUICtrlListView_AddItem($ConsoleArea,"Mes documents copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)
                     EndIf

                     If _IsChecked($iCheckbox3) Then

                  ;Copy de Favoris

                           $Source = "D:\Documents and Settings\" & @UserName & "\Favorites"
                           $Dest =  @ScriptDir & "\Profil Save\" & @UserName & "\Favorites\"
                           $GuiTitle = "Copy...Favoris"


                           Local $GIU22 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0,"Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU22)
                     EndIf

                     If _IsChecked($iCheckbox0) Then

                  ;Copy de Bureau

                           $Source = "D:\Documents and Settings\" & @UserName & "\Desktop"
                           $Dest = @ScriptDir & "\Profil Save\" & @UserName & "\Desktop\"
                           $GuiTitle = "Copy...Bureau"


                           Local $GIU33 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU33)

                     EndIf

                     If _IsChecked($iCheckbox2) Then

                  ;Copy de Mes images

                           $Source = "D:\Documents and Settings\" & @UserName & "\My Documents\My pictures"
                           $Dest =  @ScriptDir & "\Profil Save\" & @UserName & "\Pictures\"
                           $GuiTitle = "Copy...Images"


                           Local $GIU44 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU44)

                     EndIf

                     If _IsChecked($iCheckbox5) Then

                  ;Copy des signatures


                           $Source = "D:\Documents and Settings\" & @UserName & "\Application data\Microsoft\Signatures"
                           $Dest =  @ScriptDir & "\Profil Save\" & @UserName & "\Signatures\"
                           $GuiTitle = "Copy...Signature(s)"


                           Local $GIU55 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU55)

                     EndIf

                     If _IsChecked($iCheckbox4) Then

                  ;Copy des Datas Outlook


                           $Source = "D:\Documents and Settings\" & @UserName & "\Application data\Microsoft\Outlook"
                           $Dest =  @ScriptDir & "\Profil Save\" & @UserName & "\Outlook\"
                           $GuiTitle = "Copy...Data Outlook"


                           Local $GIU66 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU66)

                     EndIf

                  ;Ouverture du dossier ou est stocker le profil sauvé
                  ShellExecute(@ScriptDir & "\Profil Save\" & @UserName )
                  ExitLoop

                  Else

                     MsgBox ( $MB_SYSTEMMODAL , "Attention", "Vous n'ete pas sur un systeme Windows XP"  )

                  ExitLoop

                  EndIf

               WEnd
                              $Debutscan100=99
;============================================================================================
;= == = = = = = = = = = == = = = = = = = = = ==============Bouton restauration XP=======================================================
               Case $iConnect2 ;Resto XP

               While (1)
               $Os = (@OSVersion)
               If $Os = ("WIN_XP") Then

                  ;Resto de mes documents
                           $Dest = "D:\Documents and Settings\" & @UserName & "\My Documents\"
                           $Source =  @ScriptDir & "\Profil Save\" & @UserName & "\Documents"
                           $GuiTitle = "Copy...My documents"


                           Local $GIU11 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU11)

                  ;Resto de Favoris

                           $Dest = "D:\Documents and Settings\" & @UserName & "\Favorites\"
                           $Source =  @ScriptDir & "\Profil Save\" & @UserName & "\Favorites"
                           $GuiTitle = "Copy...Favoris"


                           Local $GIU22 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU22)
                  ;Resto de Bureau


                           $Dest = "D:\Documents and Settings\" & @UserName & "\Desktop\"
                           $Source = @ScriptDir & "\Profil Save\" & @UserName & "\Desktop"
                           $GuiTitle = "Copy...Bureau"


                           Local $GIU33 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU33)

                  ;Resto de Mes images

                           $Dest = "D:\Documents and Settings\" & @UserName & "\My Documents\My pictures\"
                           $Source =  @ScriptDir & "\Profil Save\" & @UserName & "\Pictures"
                           $GuiTitle = "Copy...Images"


                           Local $GIU44 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU44)

                  ;Resto des signatures


                           $Dest = "D:\Documents and Settings\" & @UserName & "\Application data\Microsoft\Signatures\"
                           $Source =  @ScriptDir & "\Profil Save\" & @UserName & "\Signatures"
                           $GuiTitle = "Copy...Signatures"


                           Local $GIU55 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU55)

                  ;Resto des Datas Outlook


                           $Dest = "D:\Documents and Settings\" & @UserName & "\Application data\Microsoft\Outlook\"
                           $Source =  @ScriptDir & "\Profil Save\" & @UserName & "\Outlook"
                           $GuiTitle = "Copy...Data Outlook"


                           Local $GIU66 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU66)

                  ExitLoop

               Else
                  MsgBox ( $MB_SYSTEMMODAL , "Attention", "Vous n'ete pas sur un systeme Windows XP"  )
                  ExitLoop
               EndIf

               WEnd
                  $Debutscan100=99
;============================================================================================
;=== = = = = = = = = = = = = = = = = = = =============Bouton Save Seven==========================================================
               Case $iConnect3 ;Save Seven

               While (1)

                   GUISetState(@SW_SHOW, $Console)

;~                 WinMove ("Console","",0,0)
;~                 WinMove ("Migration profil","",300,0)
;~ ==========================================================Console=================================================================
;~                         GUICtrlSetData ( $ConsoleLog, "Log : Debut Sauvegarde profil...")
                           _GUICtrlListView_AddItem($ConsoleArea,"Lecture des dossiers...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)
;~ === = = = = = = = = = = = = = = = = = = = = = ==================================Fin console=================================================================

                  $Os = (@OSVersion)

               If $Os = ("WIN_7") Then

                  If _IsChecked($iCheckbox11) Then

                           _GUICtrlListView_AddItem($ConsoleArea,"Copie de mes documents...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ;Copy de mes documents sur la cléf
                           $Source = "C:\Users\" & @UserName & "\Documents\"
                           $Dest =  @ScriptDir & "\Profil Save\" & @UserName &"\Documents"
                           $GuiTitle = "Copy..."


                           Local $GIU1 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU1)

                           _GUICtrlListView_AddItem($ConsoleArea,"Mes documents copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  EndIf

                  If _IsChecked($iCheckbox33) Then

                           _GUICtrlListView_AddItem($ConsoleArea,"Copie de mes Favoris...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ;Copy de Favoris sur la cléf
                           $Source = "C:\Users\" & @UserName & "\Favorites\"
                           $Dest =  @ScriptDir & "\Profil Save\" & @UserName & "\Favorites"
                           $GuiTitle = "Copy..."


                           Local $GIU2 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU2)

                           _GUICtrlListView_AddItem($ConsoleArea,"Mes Favoris copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  EndIf

                  If _IsChecked($iCheckbox00) Then

                           _GUICtrlListView_AddItem($ConsoleArea,"Copie du bureau...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ;Copy de Bureau sur la cléf

                           $Source = "C:\Users\" & @UserName & "\Desktop\"
                           $Dest = @ScriptDir & "\Profil Save\" & @UserName & "\Desktop"
                           $GuiTitle = "Copy..."


                           Local $GIU3 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU3)

                           _GUICtrlListView_AddItem($ConsoleArea,"Bureau est copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  EndIf

                  If _IsChecked($iCheckbox22) Then

                           _GUICtrlListView_AddItem($ConsoleArea,"Copie de mes Images...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ;Copy de Mes images sur la cléf
                           $Source = "C:\Users\" & @UserName & "\Pictures\"
                           $Dest = @ScriptDir & "\Profil Save\" & @UserName & "\Pictures"
                           $GuiTitle = "Copy..."


                           Local $GIU4 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU4)

                           _GUICtrlListView_AddItem($ConsoleArea,"Mes images copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  EndIf

                  If _IsChecked($iCheckbox55) Then

                           _GUICtrlListView_AddItem($ConsoleArea,"Copie des Signatures...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ;Copy des signatures sur la cléf
                           $Source = "C:\Users\" & @UserName & "\AppData\Roaming\Microsoft\Signatures"
                           $Dest = @ScriptDir & "\Profil Save\" & @UserName &"\Signatures\"
                           $GuiTitle = "Copy..."


                           Local $GIU5 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU5)

                           _GUICtrlListView_AddItem($ConsoleArea,"Signatures copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  EndIf

                  If _IsChecked($iCheckbox44) Then

                           _GUICtrlListView_AddItem($ConsoleArea,"Copie des Datas Outlook...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ;Copy des Datas Outlook sur la cléf
                           $Source = "C:\Users\" & @UserName & "\AppData\Roaming\Microsoft\Outlook\"
                           $Dest = @ScriptDir & "\Profil Save\" & @UserName & "\Outlook"
                           $GuiTitle = "Copy..."


                           Local $GIU6 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU6)

                           _GUICtrlListView_AddItem($ConsoleArea,"Data Outlook copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  EndIf

                  ;Ouverture du dossier ou est stocker le profil sauvé
                  ShellExecute(@ScriptDir & "\Profil Save\" & @UserName )



;~                GUISetState(@SW_HIDE, $Console)

                  ExitLoop
               Else

                  MsgBox ( $MB_SYSTEMMODAL , "Attention", "Vous n'ete pas sur un systeme Windows 7"  )
                  Sleep (1000)
                  GUISetState(@SW_HIDE, $Console)
                  ExitLoop
               EndIf

               WEnd
                  $Debutscan100=99
;============================================================================================
;=== = = = = = == = = = = = = = = = = = = = = ============Bouton restauration windows 7========================================================
               Case $iConnect4 ;Resto Seven

               While (1)

               $Os = (@OSVersion)

               If $Os = ("WIN_7") Then

                  ;Resto de mes documents dans le profil windows

                           $Dest = "C:\Users\" & @UserName & "\Documents\"
                           $Source =  @ScriptDir & "\Profil Save\" & @UserName &"\Documents"
                           $GuiTitle = "Copy..."


                           Local $GIU1 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU1)

                           _GUICtrlListView_AddItem($ConsoleArea,"Mes documents copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ;Resto de Favoris dans le profil windows


                           $Dest = "C:\Users\" & @UserName & "\Favorites\"
                           $Source =  @ScriptDir & "\Profil Save\" & @UserName & "\Favorites"
                           $GuiTitle = "Copy..."


                           Local $GIU2 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU2)

                           _GUICtrlListView_AddItem($ConsoleArea,"Mes Favoris copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ;Resto de Bureau dans le profil windows


                           $Dest = "C:\Users\" & @UserName & "\Desktop\"
                           $Source = @ScriptDir & "\Profil Save\" & @UserName & "\Desktop"
                           $GuiTitle = "Copy..."


                           Local $GIU3 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU3)

                           _GUICtrlListView_AddItem($ConsoleArea,"Bureau est copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ;Resto de Pictures dans le profil windows

                           $Dest = "C:\Users\" & @UserName & "\Pictures\"
                           $Source = @ScriptDir & "\Profil Save\" & @UserName & "\Pictures"
                           $GuiTitle = "Copy..."


                           Local $GIU4 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU4)

                           _GUICtrlListView_AddItem($ConsoleArea,"Mes images copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ;Resto des signatures dans le profil windows

                           $Dest = "C:\Users\" & @UserName & "\AppData\Roaming\Microsoft\Signatures\"
                           $Source = @ScriptDir & "\Profil Save\" & @UserName &"\Signatures"
                           $GuiTitle = "Copy..."

                           Local $GIU5 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU5)

                           _GUICtrlListView_AddItem($ConsoleArea,"Signatures copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)


                  ;Resto des Datas Outlook dans le profil windows

                           $Dest = "C:\Users\" & @UserName & "\AppData\Roaming\Microsoft\Outlook\"
                           $Source = @ScriptDir & "\Profil Save\" & @UserName & "\Outlook"
                           $GuiTitle = "Copy..."


                           Local $GIU6 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                           GUIDelete($GIU6)

                           _GUICtrlListView_AddItem($ConsoleArea,"Data Outlook copier.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ExitLoop

               Else
                  MsgBox ( $MB_SYSTEMMODAL , "Attention", "Vous n'ete pas sur un systeme Windows 7"  )
                  ExitLoop
               EndIf

               WEnd
                  $Debutscan100=99
;============================================================================================
;== == = = = = = == = = = = = = = =  ===============Bouton pour ouvrire le gestionnaire==========================================================
               Case $iConnect5 ;Gestionnaire de périphériques

                           GUISetState(@SW_SHOW, $Console)

;~                 WinMove ("Console","",0,0)
;~                 WinMove ("Migration profil","",300,0)

                           _GUICtrlListView_AddItem($ConsoleArea,"Ouverture du gestionnaire...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ShellExecute ("devmgmt.msc")

;~                GUISetState(@SW_HIDE, $Console)
                  $Debutscan100=99
;============================================================================================
;=== = = = = = = = = == = = = = = = = = = ==============Bouton de création raccourci outlook========================================================
               Case $iConnect6 ;Création de raccourcis Outlook

                           GUISetState(@SW_SHOW, $Console)

;~                                         WinMove ("Console","",0,0)
;~                 WinMove ("Migration profil","",300,0)

                           _GUICtrlListView_AddItem($ConsoleArea,"Création raccourcis outlook...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

;~                            _pinunpin('C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE')

                  $objShell = ObjCreate("Shell.Application")
                  $objFolder = $objShell.Namespace("C:\Program Files\Microsoft Office\Office14\")
                  $objFolderItem = $objFolder.ParseName("OUTLOOK.exe")

                  For $val in $objFolderItem.Verbs()
                     If StringInStr($val(), "Épingler à") or StringInStr($val(), "Pin to") Then $val.DoIt()
                  Next

                           _GUICtrlListView_AddItem($ConsoleArea,"Raccourcis outlook créer...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  $Debutscan100=99
;============================================================================================
;= == = = = = = = = = = = = = =======================Bouton Connexion a la file d'impression arceuil======================================================
               Case $iConnect7 ;Connexion imprimante

                           GUISetState(@SW_SHOW, $Console)

;~                                        WinMove ("Console","",0,0)
;~                                        WinMove ("Migration profil","",300,0)

                           _GUICtrlListView_AddItem($ConsoleArea,"Connexion a la file d'impression...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ShellExecute ("\\frparis0081p\FRArcueil-Print")

                           _GUICtrlListView_AddItem($ConsoleArea,"Connecté a la file d'impression.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)
                  $Debutscan100=99
;============================================================================================
;== = = == = = = = = = = = = = = = = ===================Bouton Desactivation UAC======================================================
               Case $UAC

                           GUISetState(@SW_SHOW, $Console)

;~                                        WinMove ("Console","",0,0)
;~                                        WinMove ("Migration profil","",300,0)

                           ShellExecute (@ScriptDir & "\UAC.BAT")

                           _GUICtrlListView_AddItem($ConsoleArea,"Désactivation UAC admin*...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)
                  $Debutscan100=99
;============================================================================================
;= = = = == = = = = = = = = = = = = = ==================Bouton langue windows=======================================================
               Case $Langues


                           GUISetState(@SW_SHOW, $Console)

;~                                        WinMove ("Console","",0,0)
;~                                        WinMove ("Migration profil","",300,0)

                           _GUICtrlListView_AddItem($ConsoleArea,"Changement de langue admin*...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)



                           ShellExecute("control.exe", "intl.cpl")
                           Sleep (2000)
                           WinMove ("Region and Language","",0,0)
                           WinMove ("Région et langue","",0,0)
                           Sleep (500)
                           MouseClick("left",181,47,1)
                           Sleep (500)
                           MouseClick("left",212,304,1)
                           Sleep (500)
                           MouseClick("left",205,336,1)
                           Sleep (500)
                           MouseClick("left",267,520,1)

;~                         ShellExecute (@ScriptDir & "\UI-FR.bat")

;~                         MsgBox ( $MB_YESNO  , "La session ce ferme", "Cliquer Oui pour fermer la session Ou non pour fermé la session ulterieurement")
;                          Sleep (10000)
;                          send("{enter}")
;                          Sleep (500)



                           ;MsgBox ( $MB_SYSTEMMODAL , "Migration V1.0", "Log off necessaire.")

                           _GUICtrlListView_AddItem($ConsoleArea,"Langue changé reboot necessaire.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)
                  $Debutscan100=99
;============================================================================================
;= = = == = = = = = = = = = = = ==================Bouton Dossier outlook en francais=========================================================
               Case $Outlook

                           GUISetState(@SW_SHOW, $Console)

;~                                        WinMove ("Console","",0,0)
;~                                        WinMove ("Migration profil","",300,0)

                           _GUICtrlListView_AddItem($ConsoleArea,"Langue dossiers Outlook...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  ;Reset des folder names.
                  run ( "C:\Program Files\Microsoft Office\Office14\Outlook.exe /Resetfoldernames" )
                  $Debutscan100=99
;============================================================================================
;= = == = = = = = == = = = = = = = = == ================Bouton Config archivage outlook=======================================================
               Case $iOutConf
                                           GUISetState(@SW_SHOW, $Console)

;~                                        WinMove ("Console","",0,0)
;~                                        WinMove ("Migration profil","",300,0)
               ;========================================Lecture des inputs====================================================
                Global $sInput0 = GUICtrlRead ($iInput0)
                Global $sInput1 = GUICtrlRead ($iInput1)
                Global $sInput2 = GUICtrlRead ($iInput2)
                Global $sInput3 = GUICtrlRead ($iInput3)
                Global $sInput4 = GUICtrlRead ($iInput4)
                Global $sInput5 = GUICtrlRead ($iInput5)
               ;========================================Lecture archive activé?====================================================
                If $sInput0 = "ON" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "DoAging", "REG_DWORD", 1 )
                Else
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "DoAging", "REG_DWORD", 0 )
                EndIf
               ;========================================Lecture cycle jours====================================================
                If $sInput1 = "1" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 1 )
                ElseIf $sInput1 = "2" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 2 )
                ElseIf $sInput1 = "3" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 3 )
                ElseIf $sInput1 = "4" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 4 )
                ElseIf $sInput1 = "5" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 5 )
                ElseIf $sInput1 = "6" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 6 )
                ElseIf $sInput1 = "7" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 7 )
                ElseIf $sInput1 = "8" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 8 )
                ElseIf $sInput1 = "9" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 9 )
                ElseIf $sInput1 = "10" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 10 )
                ElseIf $sInput1 = "11" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 11 )
                ElseIf $sInput1 = "12" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 12 )
                ElseIf $sInput1 = "13" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 13 )
                ElseIf $sInput1 = "14" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 14 )
                ElseIf $sInput1 = "15" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 15 )
                ElseIf $sInput1 = "16" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 16 )
                ElseIf $sInput1 = "17" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 17 )
                ElseIf $sInput1 = "18" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 18 )
                ElseIf $sInput1 = "19" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 19 )
                ElseIf $sInput1 = "20" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 20 )
                ElseIf $sInput1 = "21" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "EveryDays", "REG_DWORD", 21 )
                EndIf
               ;=============================================Lecture cycle mois===============================================
                If $sInput2 = "1" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "ArchivePeriod", "REG_DWORD", 1 )
                ElseIf $sInput2 = "2" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "ArchivePeriod", "REG_DWORD", 2 )
                ElseIf $sInput2 = "3" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "ArchivePeriod", "REG_DWORD", 3 )
                ElseIf $sInput2 = "4" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "ArchivePeriod", "REG_DWORD", 4 )
                ElseIf $sInput2 = "5" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "ArchivePeriod", "REG_DWORD", 5 )
                ElseIf $sInput2 = "6" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "ArchivePeriod", "REG_DWORD", 6 )
                EndIf
               ;============================================Lecture prompt activé================================================
                If $sInput3 = "OFF" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "PromptForAging", "REG_DWORD", 0 )
                Else
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "PromptForAging", "REG_DWORD", 1 )
                EndIf
               ;============================================Lecture Old items================================================
                If $sInput4 = "Moved" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "ArchiveDelete", "REG_DWORD", 0 )
                Else
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "ArchiveDelete", "REG_DWORD", 1 )
                EndIf

                If ProcessExists("OUTLOOK.EXE") Then
                   ProcessClose ( "OUTLOOK.EXE" )
                EndIf
               ;============================================Lecture Mailbox Items================================================
                If $sInput5 = "NotDelet" Then
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "DeleteExpired", "REG_DWORD", 0 )
                Else
                     RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences" , "DeleteExpired", "REG_DWORD", 1 )
                EndIf
               ;============================================Lecture Old items================================================

                           _GUICtrlListView_AddItem($ConsoleArea,"Outlook a été reconfiguré.")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)


;============================================================================================
;= = == = = = = = == = = = = = = = = == ================Bouton config recommandé auto archive outlook=======================================================
               Case $iOutDef
                  GUICtrlSetData ($iInput0, "ON")
                  GUICtrlSetData ($iInput1, "14")
                  GUICtrlSetData ($iInput2, "2")
                  GUICtrlSetData ($iInput3, "OFF")
                  GUICtrlSetData ($iInput4, "Moved")
                  GUICtrlSetData ($iInput5, "NotDelet")

;============================================================================================
;= = == = = = = = == = = = = = = = = == ================Bouton SEP UPDATE=======================================================
               Case $SEP
                           GUISetState(@SW_SHOW, $Console)

;~                                         WinMove ("Console","",0,0)
;~                 WinMove ("Migration profil","",300,0)
                           _GUICtrlListView_AddItem($ConsoleArea,"MAJ SEP...")
                           _GUICtrlListView_EnsureVisible($ConsoleArea, _GUICtrlListView_GetItemCount($ConsoleArea)-1)

                  Run ("C:\Program Files\Symantec\LiveUpdate\Luall.exe")
                  $Debutscan100=99
;============================================================================================
;= = = = = = = == = = = == = = == ======================Bouton Création user sur la clef avec dossier planitec====================================================
               Case $MakeUser
                  DirCreate ( @ScriptDir &"\Profil Save\"&@UserName&"\" )
                  ShellExecute(@ScriptDir & "\Profil Save\" & @UserName )

;============================================================================================
;= = = = = = = == = = = == = = == ======================Bouton création des raccourcis indispenssable====================================================


               Case $Variable1
                      Local $aFileList3 = _FileListToArray("C:\Users\" & @UserName & "\Desktop\Gestion des congés")
                        If @error = 1 Then
                           $Dest = "C:\Users\" & @UserName & "\Desktop\"
                           $Source = @ScriptDir & "\Raccourcis"
                           $GuiTitle = "Copy...des shordcuts"

                           Local $GIU111 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)

                        ElseIf @error = 4 Then
                           $Dest = "C:\Users\" & @UserName & "\Desktop\"
                           $Source = @ScriptDir & "\Raccourcis"
                           $GuiTitle = "Copy...des shordcuts"

                           Local $GIU222 = _CopyGui($Source,$Dest,$GuiTitle)
                           MsgBox(0, "Finie", "" & $CopiedCount & " Fichiers copier" & @CRLF _
                           & "Source file count: " & $FileCount & @CRLF _
                           & "Source Size: " & Round($SourceDirSize / 1000000, 2) & @CRLF _
                           & "Destination Size: " & Round($FinalDestSize / 1000000, 2),10)
                        Else
                           Sleep(200)
                        EndIf
                      Local $aFileList4 = _FileListToArray("C:\Users\" & @UserName & "\Desktop\Gestion des frais")
                        If @error = 1 Then
;~                         GUICtrlSetData ($UserOK , "AUCUN PROFIL sur la clef.")
                        ElseIf @error = 4 Then
;~                         GUICtrlSetData ($UserOK, "Utilisateur ABSENT dans la cléf.")
                        Else
;~                         GUICtrlSetData ($UserOK, "Utilisateur PRESENT dans la cléf!")
                        EndIf

$Debutscan100=0

          EndSwitch
;=========================================Debut des scans===================================================
   $Debutscan100=$Debutscan100+1
;======================================Condition pour ralentir la répétition des scan======================================================
If $Debutscan100=100 Then
;========================================Check si pass admin demandé====================================================
            If WinActive ("User Account Control") or WinActive ("Sécurité de Windows") or WinActive ("Windows Security") Then
               Send ($UID1)
               Sleep (1000)
               Send("{TAB}")
               Sleep (10)
               Send ($Password)
               Sleep (500)
               Send ("{Enter}")
               Sleep (2000)
            EndIf
;===========================================Variables de la base de registre=================================================
         Local $Reg1 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "EnableLUA")
         Local $Reg2 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\Symantec Endpoint Protection\SMC", "ProductVersion")
         Local $Reg3 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\SharedDefs", "DEFWATCH_10")
         Local $Reg4 = RegRead("HKEY_CURRENT_USER\Keyboard Layout\Preload", "1")
         Local $Reg5 = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\MuiCached", "MachinePreferredUILanguages")
         Local $Reg6 = RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PrinterPorts\", "\\frparis0081p\FRArcueil-Print")
         ;========
         Local $Reg7 = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences", "DoAging" )
         Local $Reg8 = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences", "EveryDays" )
         Local $Reg9 = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences", "ArchivePeriod")
         Local $Reg10 = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences", "PromptForAging")
         Local $Reg11 = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences", "ArchiveDelete")
         Local $Reg11 = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences", "DeleteExpired")
         Local $Reg12 = RegRead("HKEY_LOCAL_MACHINE\System\ControlSet001\Control\Session Manager\Environnement", "Num_PC")

;===========================================Fin des variables=================================================
;Detection de l'etat UAC
         If $Reg1 = "1" Then
               GUICtrlSetData ($ScanUAC , "Etat UAC : UAC Activé!")
         ElseIf $Reg1 = "0" Then
               GUICtrlSetData ($ScanUAC , "Etat UAC : UAC Désactivé!")
            EndIf
;============================================================================
;Detection de Version SEP
               GUICtrlSetData ($ScanSEP , "Version SEP : "&$Reg2)
;============================================================================================
;Detection de la definition virus
         ;Decoupage du resultat
         Local $Split = StringSplit($Reg3,"\")
         Local $Resulta = $Split [$Split[0]]
         GUICtrlSetData ($ScanSEPDEF , "Def. SEP : "&$Resulta)
;============================================================================================
;Detection du raccourcis outlook
    Local $aFileList2 = _FileListToArray("C:\Users\"&@UserName&"\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" , "Microsoft Outlook 2010"&".*")
    If @error = 1 Then
        GUICtrlSetData ($ScanROutlook , "Raccourcis Outlook : NonOK ")
    ElseIf @error = 4 Then
        GUICtrlSetData ($ScanROutlook, "Raccourcis Outlook : NonOK ")
    Else
        GUICtrlSetData ($ScanROutlook, "Raccourcis Outlook : OK ")
    EndIf
;============================================================================================
;Detection de la langue du clavier
;        If $Reg4 = "0000040c" Then
;              GUICtrlSetData ($ScanKB , "Langue Clavier : Francais")
;        ElseIf $Reg4 = "00000409" Then
;              GUICtrlSetData ($ScanKB , "Langue Clavier : Anglais")
;        EndIf
;============================================================================================
;Detection de la langue du System
;        If $Reg5 = "fr-FR" Then
;              GUICtrlSetData ($ScanUIFR , "Langue Système : Francais")
;        ElseIf $Reg5 = "en-US" Then
;              GUICtrlSetData ($ScanUIFR , "Langue Système : Anglais")
;        EndIf
;============================================================================================
;Detection de la file d'impression
         If $Reg6 = "winspool,Ne03:,15,45" or "" Then
               GUICtrlSetData ($ScanPrinters , "File d'impression Arceuil : Connecté ")
         Else
               GUICtrlSetData ($ScanPrinters , "File d'impression Arceuil : Absente ")
         EndIf
;============================================================================================
;Detection de l'archivage
         If $Reg7 = "1"  Then
               GUICtrlSetData ($ScanArchivage , "Archivage auto : Activé")
         ElseIf  $Reg7 = "0"  Then
               GUICtrlSetData ($ScanArchivage , "Archivage auto: Desactivé")
         Else
               GUICtrlSetData ($ScanArchivage , "Archivage auto: N/A")
         EndIf
;============================================================================================
;============================================================================================
;Detection de num_pc
         If $Reg12 = ""  Then
            GUICtrlSetData ($ScanNUMPC , "Num_PC : N/A")
         ElseIf $Reg12 = "000" Then
            GUICtrlSetData ($ScanNUMPC , "Num_PC : Non config")
         Else
            GUICtrlSetData ($ScanNUMPC , "Num_PC : "& $Reg12)
         EndIf
;============================================================================================
;============================================================================================
;Detection de l'archivage   $ScanCycleJours = GUICtrlCreateLabel ("Cycle Jours : ... ..."
         If $Reg8 = "1"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 1")
         ElseIf  $Reg8 = "2"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 2")
         ElseIf  $Reg8 = "3"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 3")
         ElseIf  $Reg8 = "4"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 4")
         ElseIf  $Reg8 = "5"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 5")
         ElseIf  $Reg8 = "6"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 6")
         ElseIf  $Reg8 = "7"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 7")
         ElseIf  $Reg8 = "8"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 8")
         ElseIf  $Reg8 = "9"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 9")
         ElseIf  $Reg8 = "10"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 10")
         ElseIf  $Reg8 = "11"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 11")
         ElseIf  $Reg8 = "12"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 12")
         ElseIf  $Reg8 = "13"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 13")
         ElseIf  $Reg8 = "14"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 14")
         ElseIf  $Reg8 = "15"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 15")
         ElseIf  $Reg8 = "16"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 16")
         ElseIf  $Reg8 = "17"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 17")
         ElseIf  $Reg8 = "18"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 18")
         ElseIf  $Reg8 = "19"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 19")
         ElseIf  $Reg8 = "20"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 20")
         ElseIf  $Reg8 = "21"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 21")
         ElseIf  $Reg8 = "22"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 22")
         ElseIf  $Reg8 = "23"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 23")
         ElseIf  $Reg8 = "24"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 24")
         ElseIf  $Reg8 = "25"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 25")
         ElseIf  $Reg8 = "26"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 26")
         ElseIf  $Reg8 = "27"  Then
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : 28")
         Else
               GUICtrlSetData ($ScanCycleJours , "Cycle Jours : N/A")
         EndIf
;============================================================================================

         If $Reg9 = "1"  Then
               GUICtrlSetData ($ScanCycleMois , "Cycle Mois : 1")
         ElseIf  $Reg9 = "2"  Then
               GUICtrlSetData ($ScanCycleMois , "Cycle Mois : 2")
         ElseIf  $Reg9 = "3"  Then
               GUICtrlSetData ($ScanCycleMois , "Cycle Mois : 3")
         ElseIf  $Reg9 = "4"  Then
               GUICtrlSetData ($ScanCycleMois , "Cycle Mois : 4")
         ElseIf  $Reg9 = "5"  Then
               GUICtrlSetData ($ScanCycleMois , "Cycle Mois : 5")
         ElseIf  $Reg9 = "6"  Then
               GUICtrlSetData ($ScanCycleMois , "Cycle Mois : 6")
         Else
               GUICtrlSetData ($ScanCycleMois , "Cycle Mois : N/A")
         EndIf
;============================================================================================
;Detection du prompte
         If $Reg10 = "1" Then
               GUICtrlSetData ($ScanPrompt , "Prompt : Activé ")
         ElseIf $Reg10 = "0" Then
               GUICtrlSetData ($ScanPrompt , "Prompt : Désactivé")
         Else
               GUICtrlSetData ($ScanPrompt , "Prompt : N/A")
         EndIf
;============================================================================================
;============================================================================================
;Detection d'olds items
         If $Reg11 = "1" Then
               GUICtrlSetData ($ScanOldItems , "Old items : Deleted")
         ElseIf $Reg11 = "0" Then
               GUICtrlSetData ($ScanOldItems , "Old items : Moved")
         Else
               GUICtrlSetData ($ScanOldItems , "Old items : N/A")
            EndIf
;============================================================================================
;Detection des mail box items deleted ou pas
         If $Reg11 = "1" Then
               GUICtrlSetData ($ScanBoxITEM , "Mailbox Items : Suprimé")
         ElseIf $Reg11 = "0" Then
               GUICtrlSetData ($ScanBoxITEM , "Mailbox Items : Archiver")
         Else
               GUICtrlSetData ($ScanBoxITEM , "Mailbox Items : N/A")
         EndIf

;============================================================================================
;Detection pour les moniteur imagé
      Local $readinputNUMPC = GUICtrlRead ( $ScanNUMPC )
      Local $readinputUAC = GUICtrlRead ( $ScanUAC )
      Local $readinputArchive = GUICtrlRead ( $ScanArchivage )
      Local $readinputArchive2 = GUICtrlRead ( $ScanCycleJours )
      Local $readinputArchive3 = GUICtrlRead ( $ScanCycleMois )
      Local $readinputArchive4 = GUICtrlRead ( $ScanPrompt )
      Local $readinputArchive5 = GUICtrlRead ( $ScanOldItems )
      Local $readinputArchive6 = GUICtrlRead ( $ScanBoxITEM )

         If $readinputNUMPC = "Num_PC : N/A" Then
               GUICtrlSetBkColor( $ImageNUMPClabel , 0xFFC90E ) ;ORANGE
         ElseIf $readinputNUMPC = "Num_PC : Non config" Then
               GUICtrlSetBkColor( $ImageNUMPClabel , 0x000000 ) ;Noir
         ElseIf $readinputNUMPC = "Num_PC : "& $Reg12 Then
               GUICtrlSetBkColor( $ImageNUMPClabel , 0x22B14C ) ;VERT
         EndIf

         If $readinputUAC = "Etat UAC : UAC Activé!" Then
               GUICtrlSetBkColor( $ImageUAClabel , 0x000000 ) ;Noir
         ElseIf $readinputUAC = "Etat UAC : UAC Désactivé!" Then
               GUICtrlSetBkColor( $ImageUAClabel , 0x22B14C ) ;VERT
            EndIf

         If $readinputArchive = "Archivage auto : Activé" And $readinputArchive2 = "Cycle Jours : 14"  And $readinputArchive3 = "Cycle Mois : 2" And $readinputArchive4 = "Prompt : Désactivé" And $readinputArchive5 = "Old items : Moved"  And $readinputArchive6 = "Mailbox Items : Archiver"  Then
               GUICtrlSetBkColor( $ImageARCHIVElabel , 0x22B14C ) ;Vert
         ElseIf $readinputArchive = "Archivage auto: N/A" And $readinputArchive2 = "Cycle Jours : N/A"  And $readinputArchive3 = "Cycle Mois : N/A" And $readinputArchive4 = "Prompt : N/A" And $readinputArchive5 = "Old items : N/A"  And $readinputArchive6 = "Mailbox Items : N/A"  Then
               GUICtrlSetBkColor( $ImageARCHIVElabel , 0xFFC90E ) ;Orange
         Else
               GUICtrlSetBkColor( $ImageARCHIVElabel , 0x000000 ) ;Noir
         EndIf

         If $readinputNUMPC = "Num_PC : "& $Reg12 And $readinputUAC = "Etat UAC : UAC Désactivé!" And $readinputArchive = "Archivage auto : Activé" And $readinputArchive2 = "Cycle Jours : 14"  And $readinputArchive3 = "Cycle Mois : 2" And $readinputArchive4 = "Prompt : Désactivé" And $readinputArchive5 = "Old items : Moved"  And $readinputArchive6 = "Mailbox Items : Archiver"  Then
               GUICtrlSetBkColor( $ImageARCHIVElabel , 0x22B14C )
               GUISetBkColor(0x22B14C)
         EndIf

;============================================================================================
; Detection de la présence du profil utilisateur dans la clef
    Local $aFileList = _FileListToArray(@ScriptDir&"\Profil Save" , ""&@UserName&".*")
    If @error = 1 Then
        GUICtrlSetData ($UserOK , "AUCUN PROFIL sur la clef.")
    ElseIf @error = 4 Then
        GUICtrlSetData ($UserOK, "Utilisateur ABSENT dans la cléf.")
    Else
        GUICtrlSetData ($UserOK, "Utilisateur PRESENT dans la cléf!")
    EndIf

$Debutscan100=0

EndIf

   WEnd

;=======================================Debut des fonctions=================================================

;========================================================================================
;Function _CopyGui($Source,$Dest,$GuiTitle)
;   This is a simple Gui for the _Copy($FileSource,$FileDest) Function
;
;   Example _CopyGui("C:\test", "C:\temp\test", "Copying Files...")
;   Status on the gui displays % completion Copied MB/ Total MB  and Current File
;
;   This script will even copy empty folders
;========================================================================================
Func _CopyGui($Source, $Dest, $GuiTitle)
    $gui = "yes"
    $SourceDirSize = DirGetSize($Source)
    $GIU = GUICreate($GuiTitle, 723, 80, -1, -1)
    $Progress = GUICtrlCreateProgress(8, 8, 705, 25)
    $Status = GUICtrlCreateLabel("", 8, 40, 708, 40)
    GUISetState(@SW_SHOW)
    _GetFileCount($Source)
    _Copy($Source, $Dest, "")
    $FinalDestSize = DirGetSize($Dest)
EndFunc   ;==>_CopyGui



;========================================================================================
;Function _CopyNoGui($Source,$Dest,$GuiTitle)
;   This is a simple Gui for the _Copy($FileSource,$FileDest) Function
;
;   Example _CopyGui("C:\test", "C:\temp\test", "Copying Files...")
;   Status on the gui displays % completion Copied MB/ Total MB  and Current File
;
;   This script will even copy empty folders
;========================================================================================
Func _CopyNoGui($Source, $Dest, $reciever)
    If $reciever = "" Then
        $r = "no"
    Else
        If Not _IsReceiver($reciever) Then
            MsgBox(0, "Error..", $reciever & " could not be found. Please check the name and try again.")
        EndIf
    EndIf
    $gui = "no"
    $SourceDirSize = DirGetSize($Source)
    _GetFileCount($Source)
    _Copy($Source, $Dest, $reciever)
    $FinalDestSize = DirGetSize($Dest)
EndFunc   ;==>_CopyNoGui


;========================================================================================
;Function _Copy($FileSource,$FileDest)
;   This function can be called by itself but I wouldn't reccomend it if you don't want
;   a GUI run _CopyNoGui($Source,$Dest)
;   If you don't want to run this alone you need to remember to put
;   $SourceDirSize = DirGetSize($Source) and
;   $FinalDestSize = DirGetSize($Dest) after you call the function for some parts to work
;
;   Example _Copy("C:\test","C:\temp\test")
;   $st     is the % complete
;   $p      is to set a progress bar
;   Round($si, 2)       will return the copied filesize in MB rounded to 2 decimal places
;   Round($SourceDirSize / 1000000, 2)      will return the origional source dir size in MB
;       rounded to 2 decimal places
;   $SourceFilePath     will return the full source path of the currently copying file
;   $DestFilePath       will return the full destination path of the currently copying file
;
;   This script will even copy empty folders
;=========================================================================================
Func _Copy($FileSource, $FileDest, $reciever)
    Local $Search
    Local $File
    Local $FileAttributes
    Local $SourceFilePath
    Local $DestFilePath
    $FirstFile = FileFindFirstFile($FileSource & "\*.*")
    While 1
        If $FirstFile = -1 Then
            ExitLoop
        EndIf
        $File = FileFindNextFile($FirstFile)
        If @error Then ExitLoop
        $SourceFilePath = $FileSource & "\" & $File
        $DestFilePath = $FileDest & "\" & $File
        $FileAttributes = FileGetAttrib($SourceFilePath)
        If StringInStr($FileAttributes, "D") Then
            DirCreate($DestFilePath)
            _Copy($SourceFilePath, $DestFilePath, $reciever)
        Else
            $CopyFileSize = FileGetSize($SourceFilePath)
            $Temp = ($CopyFileSize / $SourceDirSize) * 100
            $p = $p + $Temp
            $st = Round($p)
            $Tsi = $CopyFileSize / 1000000
            $si = $si + $Tsi
            $CopiedCount += 1
            $statusUP = $st & "%" & @TAB & "Copied: " & Round($si, 2) & "MB / " & Round($SourceDirSize / 1000000, 2) & "MB" & @TAB & "Current File: " & $SourceFilePath & @CRLF & "Copied: " & $CopiedCount & " / " & $FileCount & " Files"
            If $gui = "yes" Then
                GUICtrlSetData($Progress, $p)
                GUICtrlSetData($Status, $statusUP)
            ElseIf $gui = "no" Then
                If $reciever = "no" Then
                Else
                    If _IsReceiver($reciever) Then
                        $data = $p & "," & $statusUP
                        _MsgSend($reciever, String($data))
                    EndIf
                EndIf
            EndIf
            FileCopy($SourceFilePath, $DestFilePath, 9)
        EndIf
    WEnd
EndFunc   ;==>_Copy




;========================================================================================
;Function _GetFileCount($Folder)
;   This function gets the count of the files in a specified folder
;   Returns $FileCount
;=========================================================================================
Func _GetFileCount($Folder)
    Local $File
    Local $FileAttributes
    Local $FileSource
    Local $FirstFile
    $FirstFile = FileFindFirstFile($Folder & "\*.*")
    While 1
        If $FirstFile = -1 Then
            ExitLoop
        EndIf
        $File = FileFindNextFile($FirstFile)
        If @error Then ExitLoop
        $FilePath = $Folder & "\" & $File
        $FileAttributes = FileGetAttrib($FilePath)
        If StringInStr($FileAttributes, "D") Then
            _GetFileCount($FilePath)
        Else
            $FileCount += 1
            GUICtrlSetData($Status, "Counting files " & $FileCount & " files so far")
        EndIf
    WEnd
    Return $FileCount
EndFunc   ;==>_GetFileCount


;========================================================================================
;Function _GetFolderCount($Folder)
;   This function gets the count of the files in a specified folder
;   Returns $FolderCount
;=========================================================================================
Func _GetFolderCount($Folder)
    Local $File
    Local $FileAttributes
    Local $FileSource
    Local $FirstFile
    $FirstFile = FileFindFirstFile($Folder & "\*.*")
    While 1
        If $FirstFile = -1 Then
            ExitLoop
        EndIf
        $File = FileFindNextFile($FirstFile)
        If @error Then ExitLoop
        $FilePath = $Folder & "\" & $File
        $FileAttributes = FileGetAttrib($FilePath)
        If StringInStr($FileAttributes, "D") Then
            $FolderCount += 1
            GUICtrlSetData($Status, "Counting folders " & $FolderCount & " folders so far")
            _GetFolderCount($FilePath)
        EndIf
    WEnd
    Return $FileCount
EndFunc   ;==>_GetFolderCount

 Func Exite () ;==>Quitter
       Exit
   EndFunc

   Func Pause() ;==>Pause
      $Paused = NOT $Paused
      While  $Paused
           Sleep (500)
      WEnd
   EndFunc
;============================================================================================
   Func _RunAU3($sFilePath, $sWorkingDir = "", $iShowFlag = @SW_SHOW, $iOptFlag = 0) ;==>_RunAU3
       Return Run('"' & @AutoItExe & '" /AutoIt3ExecuteScript "' & $sFilePath & '"', $sWorkingDir, $iShowFlag, $iOptFlag)
   EndFunc   ;==>_RunAU3
;============================================================================================
   Func _IsChecked($idControlID) ;==>Detection d'une box checker
       Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
   EndFunc   ;==>_IsChecked



Check after this line

;=========================================Debut des scans===================================================










Edited by caramen

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

Chimaera please post a repo. If i have understand:

; Johnmcloud 2015
#include <GUIConstantsEx.au3>

$hGUI = GUICreate("Example", 300, 200)

$dBegin = GUICtrlCreateDummy()
GUICtrlCreateLabel("Check Cable", 10, 10, 100, 20)
GUICtrlCreateLabel("Check Internet", 10, 30, 100, 20)
GUICtrlCreateLabel("Restart computer", 10, 50, 100, 20)
$dEnd = GUICtrlCreateDummy()

$bUpdate = GUICtrlCreateButton("Update", 10, 70, 50, 20)

GUISetState(@SW_SHOW)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $bUpdate
            _Update($dBegin, $dEnd)
    EndSwitch
WEnd

Func _Update($iStart, $iEnd)
    Local $iID
    For $iID = $iStart + 1 To $iEnd - 1
        ConsoleWrite("ID: " & $iID & " - " & GUICtrlRead($iID) & @CR)
        GUICtrlSetColor($iID, 0xFF0000)
;~      Switch GUICtrlRead($iID)
;~          Case "Check Cable"
;~              ;do this
;~          Case "Check Internet"
;~              ;do that
;~          Case "Restart computer"
;~              ;do this
;~      EndSwitch
    Next
EndFunc   ;==>_Update

An alternative to Dummy is use EnumChildWindows for get all control

Edited by johnmcloud

Share this post


Link to post
Share on other sites

Thx for the suggestions ill have a look

@InunoTaishou

What im trying to do is have a button that will refresh all the parts of the gui everytime you press the button not one at a time.

So if i have a fault in device manager it shows a red cross on the gui so i go and fix the drivers that are faulty then press the refresh button and it will turn into a green tick as the problem has been resolved in device manager.

Its kinda like a running checklist for the tech to see whats wrong and left to do on a machine with a refresh button to recheck 

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

Example1()
Func Example1()
   $hGUI = GUICreate("Example1", 300, 200)

   ;    Create a Dummy and set it to the position of the $lblOne
   $dmyBegin = GUICtrlCreateDummy() + 1
   $lblOne = GUICtrlCreateLabel("Check Cable", 10, 10, 100, 20)
   $lblTwo = GUICtrlCreateLabel("Check Internet", 10, 30, 100, 20)
   $lblThree = GUICtrlCreateLabel("Restart computer", 10, 50, 100, 20)
   $dmyEnd = GUICtrlCreateDummy()
   ;    $dmyEnd is set to one past $lblThree
   ;    $currentLabel sets the position of which label to update. It starts at 1.
   $currentLabel = $dmyBegin
   $btnUpdate = GUICtrlCreateButton("Update", 10, 70, 50, 20)
   $btnResetAll = GUICtrlCreateButton("Reset", 70, 70, 50, 20)

   GUISetState(@SW_SHOW)
   While 1
      Switch GUIGetMsg()
      Case $GUI_EVENT_CLOSE
         Exit
      Case $btnUpdate
         updateLabel($currentLabel, $dmyEnd)
      Case $btnResetAll
         ;  Loop through every Ctrl and set them all to black
         For $i = $dmyBegin to $dmyEnd
            GUICtrlSetColor($i, 0x000000)
         Next
         ;  Set the currentLabel back to the beginning
         $currentLabel = $dmyBegin
      EndSwitch
   WEnd
EndFunc

;   Passing ByRef means it changes the variable in the updateLabel function and updates the variable in the Example1 function
Func updateLabel(ByRef $label, $end)
   ;    Check to make sure we haven't already updated everything
   If $label = $end Then
      MsgBox("","Error", "Every label is already updated!")
      Return
   ;    Update the next label
   Else
      GUICtrlSetColor($label, 0x00FF00)
      ; Add 1 to the label so it updates the next one when we call the function again. You don't have to use ByRef, you could do $currentLabel += 1 in the Example1 function instead
      $label += 1
   EndIf
EndFunc

Now with a reset all button!

The update label function is a single use button that sets the next label to green.

Reset all button uses a for loop to go through all of the labels.

Share this post


Link to post
Share on other sites

#10 ·  Posted (edited)

Ok ive been working with this today the snag i have is im not changing colours im refreshing functions like this (not a reproducer just example)

Local $dmyBegin = GUICtrlCreateDummy() + 1
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
GUICtrlCreateLabel("Is Machine Activated", 60, 20, 150, 25)
_Settings()
$activate = _ActivationStatus()
GUICtrlCreateLabel( $activate, $sInfoLeft, 20, 380, 25)
_Settings()
    If $activate = True Then
        GUICtrlCreateIcon( $tick, -1, 17, 17, 25, 25)
    Else
        GUICtrlCreateIcon($cross, -1, 17, 17, 25, 25)
    EndIf
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
GUICtrlCreateLabel("Are Drivers Installed", 60, 60, 150, 25)
_Settings()
 $devicemgr = _DeviceProblems()
 ConsoleWrite($devicemgr & @CRLF)
 GUICtrlCreateLabel($devicemgr, $sInfoLeft, 60, 380, 25)
_Settings()
    If $devicemgr = True Then
        GUICtrlCreateIcon( $tick, -1, 17, 57, 25, 25)
    Else
        GUICtrlCreateIcon($cross, -1, 17, 57, 25, 25)
    EndIf

So rather than change colours with text i need it to recheck functions like these

$activate = _ActivationStatus()
$devicemgr = _DeviceProblems() 

Ive tried adding the functions to the button and in the loop to no joy

This is how the labels look and if i fix the device manager and press the refresh button the red one would turn green

post-60350-0-03453500-1424983756.png

The True/False part will be hidden later

Edited by Chimaera

Share this post


Link to post
Share on other sites

Been working on this at work and got this to work but it doesnt seem responsive atmo but ill keep refining

Case $RefreshButton
            For $i = $dmyBegin to $dmyEnd
                  Switch GUICtrlRead($i)
                      Case $devicemgr
                           $devicemgr = _DeviceProblems()
                            If $devicemgr = True Then
                                GUICtrlCreateIcon( $tick, -1, 17, 57, 25, 25)
                            Else
                                GUICtrlCreateIcon( $cross, -1, 17, 57, 25, 25)
                            EndIf
                      Case $tspack
                            $tspack = _TS_Pack()
                            If $tspack = True Then
                                GUICtrlCreateIcon( $tick, -1, 17, 137, 25, 25)
                            Else
                                GUICtrlCreateIcon( $cross, -1, 17, 97, 25, 25)
                            EndIf
    ;~                Case "Restart computer"
    ;~                    ;do this
                  EndSwitch
            Next

Share this post


Link to post
Share on other sites

#12 ·  Posted (edited)

Chimaera,

Next time please post a reproducer script of what you want to do, not necessary the entire code or a part of it but something someone can copy-past on SciTe...so is more easy to understand and less time to make everything. I think that you know how it works here, you have more than 2.000 posts :D

Based on your code-style:

; Johnmcloud test code - 2015
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>

Global $lMachine, $lDriver, $lInternet
Global $iMachine, $iDriver, $iInteret
Global $sMachine, $sDriver, $sInternet
Global $hGUI, $dBegin, $dEnd, $iButton

$hGUI = GUICreate("Johnmcloud", 220, 180)
GUISetFont(Default, 800)

$dBegin = GUICtrlCreateDummy()
$sMachine = _ActivationStatus(1) ; assuming is true
GUICtrlCreateLabel("Is Machine Activated", 40, 16)
;~ $lMachine = GUICtrlCreateLabel($sMachine, 175, 16)
If $sMachine = "TRUE" Then
    $iMachine = GUICtrlCreateIcon("shell32.dll", -111, 6, 6)
Else
    $iMachine = GUICtrlCreateIcon("shell32.dll", -110, 6, 6)
EndIf

$sInternet = _InternetStatus(0) ; assuming is False
GUICtrlCreateLabel("Is Internet Connected", 39, 58)
;~ $lInternet = GUICtrlCreateLabel($sInternet, 175, 104)
If $sInternet = "TRUE" Then
    $iInteret = GUICtrlCreateIcon("shell32.dll", -111, 6, 95)
Else
    $iInteret = GUICtrlCreateIcon("shell32.dll", -110, 6, 95)
EndIf

$sDriver = _DeviceProblems(0) ; assuming is false
GUICtrlCreateLabel("Are Driver Installed", 39, 104)
;~ $lDriver = GUICtrlCreateLabel($sDriver, 175, 58)
If $sDriver = "TRUE" Then
    $iDriver = GUICtrlCreateIcon("shell32.dll", -111, 6, 49)
Else
    $iDriver = GUICtrlCreateIcon("shell32.dll", -110, 6, 49)
EndIf

$dEnd = GUICtrlCreateDummy()

$iButton = GUICtrlCreateButton("Update", 90, 140, 50, 25)
GUICtrlSetFont(-1, Default, 400)
GUISetState(@SW_SHOW)


While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $iButton
            _Update($dBegin, $dEnd)
    EndSwitch
WEnd

Func _Update($iStart, $iEnd)
    Local $iID
    For $iID = $iStart + 1 To $iEnd - 1
;~      If GUICtrlRead($iID) = "FALSE" Then ; check only false value, if are the true...are true so skip it
            Switch GUICtrlRead($iID) ; search for the label, if you use GUICtrlRead($iID) = "FALSE" you need to use Switch GUICtrlRead($iID-1)
                Case "Is Machine Activated" ; is True, is skipped if you use GUICtrlRead($iID) = "FALSE" but you need to add it in case is False
                    $sMachine = _ActivationStatus(1)
;~                  GUICtrlSetData($iID, $sMachine)
                    If $sMachine = "TRUE" Then
                        GUICtrlSetImage($iID + 1, "shell32.dll", -111)
                    Else
                        GUICtrlSetImage($iID + 1, "shell32.dll", -110)
                    EndIf
                Case "Is Internet Connected"
                    $sInternet = _InternetStatus(1) ; this time return true just for see the change
;~                  GUICtrlSetData($iID, $sInternet)
                    If $sInternet = "TRUE" Then
                        GUICtrlSetImage($iID + 1, "shell32.dll", -111)
                    Else
                        GUICtrlSetImage($iID + 1, "shell32.dll", -110)
                    EndIf
                Case "Are Driver Installed"
                    $sDriver = _InternetStatus(1) ; this time return true just for see the change
;~                  GUICtrlSetData($iID, $sDriver)
                    If $sDriver = "TRUE" Then
                        GUICtrlSetImage($iID + 1, "shell32.dll", -111)
                    Else
                        GUICtrlSetImage($iID + 1, "shell32.dll", -110)
                    EndIf
            EndSwitch
;~      EndIf
    Next
EndFunc   ;==>_Update

Func _ActivationStatus($sParam)
    If $sParam = 0 Then Return "FALSE"
    If $sParam = 1 Then Return "TRUE"
EndFunc   ;==>_ActivationStatus

Func _DeviceProblems($sParam)
    If $sParam = 0 Then Return "FALSE"
    If $sParam = 1 Then Return "TRUE"
EndFunc   ;==>_DeviceProblems

Func _InternetStatus($sParam)
    If $sParam = 0 Then Return "FALSE"
    If $sParam = 1 Then Return "TRUE"
EndFunc   ;==>_InternetStatus
Edited by johnmcloud

Share this post


Link to post
Share on other sites

#14 ·  Posted (edited)

Ok ive gone a slightly different path to use the update part in a simpler format but i have hit an problem

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $devicemgr

Local $GUI_Start = GUICreate("Final Check", 300, 300, -1, -1, BitXOR($GUI_SS_DEFAULT_GUI, $WS_MINIMIZEBOX))
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
GUICtrlCreateLabel("Are Drivers Installed", 60, 60, 150, 25)
_Settings()
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
_Update() ; Update the gui with info
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
Local $RefreshButton = GUICtrlCreateButton(" Refresh List ", 60, 200, 130, 55)
_Settings()
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
GUISetState()

Local $nMsg = 0
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $RefreshButton
            Sleep(2000)
            _Update()
    EndSwitch
WEnd

Func _Update()
    $devicemgr = _DeviceProblems()
    If $devicemgr = True Then
        GUICtrlCreateIcon("shell32.dll", -111, 6, 60)
        ConsoleWrite('Device Manager Is ' & $devicemgr & @CRLF)
    Else
        GUICtrlCreateIcon("shell32.dll", -110, 6, 60)
        ConsoleWrite('Device Manager Is ' & $devicemgr & @CRLF)
    EndIf
EndFunc   ;==>_Update

Func _Settings()
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
;~ GUICtrlSetDefBkColor(0xFF0000) ; For Checking Label Placements
    GUICtrlSetFont(-1, 11, 600, "", "Tahoma")
EndFunc   ;==>_Settings

Func _DeviceProblems()
    Local $Code = "", $codemsg = "", $strComputer = "."
    #forceref $codemsg
    Local $bProblemsExist = False, $bDisabledExist = False
    Local $DEVobjWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
    Local $DEVcolItems = $DEVobjWMIService.ExecQuery("Select * from Win32_PnPEntity " & "WHERE ConfigManagerErrorCode <> 0")
    For $DEVobjItem In $DEVcolItems
        $Code = $DEVobjItem.name
        If $DEVobjItem.ConfigManagerErrorcode >= 1 And $DEVobjItem.ConfigManagerErrorcode <= 52 Then
            $bProblemsExist = True
        EndIf
        Return False
    Next
    If $bDisabledExist = False And $bProblemsExist = False Then
        Return True
    EndIf
EndFunc   ;==>_DeviceProblems

There is a reproducer

Now disable a dvd drive in device manager then run the code it will flag as false on the gui load so all good but

If you change the device manager to enable

And the press the button it registers the change in the consolewrite but wont change the icon until you press the button a second time

Device Manager Is False

Device Manager Is True
Device Manager Is True <<<<<<< doesnt change the icon until here

 

Any suggestions as to why?

Edited by Chimaera

Share this post


Link to post
Share on other sites

#15 ·  Posted (edited)

Uh, a reproducer :D

Your error is simple, you open the GUI and example you have True, so GUICtrlCreateIcon create an icon. But if you want to change that icon you don't need to apply another GUICtrlCreateIcon, in this case you have 2 control with two different icon, but change the previus one control

This work:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $devicemgr
Global $iIconDriver = -1 ; <<<<< declare only ONE icon for "Are Drivers Installed"

Local $GUI_Start = GUICreate("Final Check", 300, 300, -1, -1, BitXOR($GUI_SS_DEFAULT_GUI, $WS_MINIMIZEBOX))
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
GUICtrlCreateLabel("Are Drivers Installed", 60, 60, 150, 25)
_Settings()
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>

;$iIconDriver = GUICtrlCreateIcon("", 0, 6, 60) <<<<< If you put here is better
_Update() ; Update the gui with info
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>

Local $RefreshButton = GUICtrlCreateButton(" Refresh List ", 60, 200, 130, 55)
_Settings()
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
GUISetState()

Local $nMsg = 0
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $RefreshButton
            Sleep(2000)
            _Update()
    EndSwitch
WEnd

Func _Update()
    $devicemgr = _DeviceProblems()
    If $devicemgr = True Then
        If $iIconDriver = -1 Then $iIconDriver = GUICtrlCreateIcon("", 0, 6, 60) ; <<<<< If the control not exist, create it
        If $iIconDriver <> -1 Then GUICtrlSetImage($iIconDriver, "shell32.dll", -111) ; <<<<< If the control exist, change the icon
        ConsoleWrite('Device Manager Is ' & $devicemgr & @CRLF)
    Else
        If $iIconDriver = -1 Then $iIconDriver = GUICtrlCreateIcon("", 0, 6, 60) ; <<<<< If the control not exist, create it
        If $iIconDriver <> -1 Then GUICtrlSetImage($iIconDriver, "shell32.dll", -110) ; <<<<< If the control exist, change the icon
        ConsoleWrite('Device Manager Is ' & $devicemgr & @CRLF)
    EndIf
EndFunc   ;==>_Update

Func _Settings()
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
;~ GUICtrlSetDefBkColor(0xFF0000) ; For Checking Label Placements
    GUICtrlSetFont(-1, 11, 600, "", "Tahoma")
EndFunc   ;==>_Settings

Func _DeviceProblems()
    Local $Code = "", $codemsg = "", $strComputer = "."
    #forceref $codemsg
    Local $bProblemsExist = False, $bDisabledExist = False
    Local $DEVobjWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
    Local $DEVcolItems = $DEVobjWMIService.ExecQuery("Select * from Win32_PnPEntity " & "WHERE ConfigManagerErrorCode <> 0")
    For $DEVobjItem In $DEVcolItems
        $Code = $DEVobjItem.name
        If $DEVobjItem.ConfigManagerErrorcode >= 1 And $DEVobjItem.ConfigManagerErrorcode <= 52 Then
            $bProblemsExist = True
        EndIf
        Return False
    Next
    If $bDisabledExist = False And $bProblemsExist = False Then
        Return True
    EndIf
EndFunc   ;==>_DeviceProblems
Edited by johnmcloud

Share this post


Link to post
Share on other sites

#16 ·  Posted (edited)

Is there any advantage to this?

i can set the icon as the negative as often thats what it will be

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $devicemgr
;~ Global $hIcon = -1 ; declare only ONE icon for Are Drivers Installed <<<<<<

Local $GUI_Start = GUICreate("Final Check", 300, 300, -1, -1, BitXOR($GUI_SS_DEFAULT_GUI, $WS_MINIMIZEBOX))
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
GUICtrlCreateLabel("Are Drivers Installed", 60, 60, 150, 25)
_Settings()
Local $hIcon = GUICtrlCreateIcon("shell32.dll", -110, 6, 60)
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
_Update() ; Update the gui with info
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
Local $RefreshButton = GUICtrlCreateButton(" Refresh List ", 60, 200, 130, 55)
_Settings()
;<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>
GUISetState()

Local $nMsg = 0
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $RefreshButton
            Sleep(200)
            _Update()
    EndSwitch
WEnd

Func _Update()
    $devicemgr = _DeviceProblems()
    If $devicemgr = True Then
        GUICtrlSetImage($hIcon, "shell32.dll", -111) ; if the control exist, change the icon
        ConsoleWrite('Device Manager Is ' & $devicemgr & @CRLF)
    Else
       GUICtrlSetImage($hIcon, "shell32.dll", -110) ; if the control exist, change the icon
        ConsoleWrite('Device Manager Is ' & $devicemgr & @CRLF)
    EndIf
EndFunc   ;==>_Update

Func _Settings()
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
;~ GUICtrlSetDefBkColor(0xFF0000) ; For Checking Label Placements
    GUICtrlSetFont(-1, 11, 600, "", "Tahoma")
EndFunc   ;==>_Settings

Func _DeviceProblems()
    Local $Code = "", $codemsg = "", $strComputer = "."
    #forceref $codemsg
    Local $bProblemsExist = False, $bDisabledExist = False
    Local $DEVobjWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
    Local $DEVcolItems = $DEVobjWMIService.ExecQuery("Select * from Win32_PnPEntity " & "WHERE ConfigManagerErrorCode <> 0")
    For $DEVobjItem In $DEVcolItems
        $Code = $DEVobjItem.name
        If $DEVobjItem.ConfigManagerErrorcode >= 1 And $DEVobjItem.ConfigManagerErrorcode <= 52 Then
            $bProblemsExist = True
        EndIf
        Return False
    Next
    If $bDisabledExist = False And $bProblemsExist = False Then
        Return True
    EndIf
EndFunc   ;==>_DeviceProblems

Obviously i will need to personalize the icons for each check

Edited by Chimaera

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0