Hoi hoi! 🦫 Laten we samen eens goed bekijken welke stukken code ik heb aangepast voor jouw script. Ik zal elke wijziging laten zien en uitleggen wat het doet. Klaar? Let’s go! 😄🚀

Voor je hier aan begint kijk eerst de voorgaande stappen Code bever

1. Nieuwe Gifjes Toegevoegd

Wat is toegevoegd:

FileInstall("het_is_geinstalleerd.gif", $sfldr1 & "het_is_geinstalleerd.gif")
FileInstall("het_is_niet_gelukt.gif", $sfldr1 & "het_is_niet_gelukt.gif")

Uitleg:

  • Waarom?
    We hebben twee nieuwe gif-bestanden toegevoegd:
    • het_is_geinstalleerd.gif : Laat zien dat de installatie succesvol is.
    • het_is_niet_gelukt.gif : Laat zien dat er iets mis is gegaan.
  • Hoe?
    Met FileInstall zorgen we ervoor dat deze gifjes naar de juiste map gekopieerd worden tijdens de uitvoering van het script.

2. GIF Controle Element Aangepast

Wat is aangepast:

$pic = GUICtrlCreatePic($sfldr1 & "mijn.gif", 0, 0, 600, 225)

Uitleg:

  • Waarom?
    We hebben de pictureregel (GUICtrlCreatePic) opgeslagen in de variabele $pic. Dit maakt het makkelijker om later het gif te veranderen.
  • Hoe?
    Door $pic te gebruiken, kunnen we het beeld in de GUI dynamisch aanpassen.

3. Nieuwe Functie UpdateGUI Toegevoegd

Wat is toegevoegd:

Func UpdateGUI($gif, $message)
    GUICtrlSetImage($pic, $sfldr1 & $gif)
    _GUICtrlStatusBar_SetText($status, $message)
    Sleep(5000) ; Wacht 5 seconden
    GUIDelete($gui)
    Exit
EndFunc

Uitleg:

  • Waarom?
    Deze functie zorgt ervoor dat we het gif en de statusberichten kunnen updaten zonder steeds pop-ups te gebruiken.
  • Hoe?
    • GUICtrlSetImage : Verandert het huidige gif naar het nieuwe gif ($gif).
    • _GUICtrlStatusBar_SetText : Verandert het tekstbericht in de statusbalk naar $message.
    • Sleep(5000) : Wacht 5 seconden voordat het script afsluit.
    • GUIDelete en Exit : Sluit de GUI netjes af.

4. Pop-up MsgBox Vervangen door GUI Updates

Wat is aangepast:

Func CheckFileExists($path)
    If FileExists($path) Then
        Return True
    Else
        LogEvent("Installatiebestand niet gevonden.")
        UpdateGUI("het_is_niet_gelukt.gif", "Installatiebestand niet gevonden.")
        Return False
    EndIf
EndFunc

Uitleg:

  • Waarom?
    We willen geen vervelende pop-up vensters meer laten zien als er een fout is.
  • Hoe?
    In plaats van MsgBox gebruiken we de nieuwe functie UpdateGUI om het gif en het statusbericht te veranderen en daarna automatisch af te sluiten.

5. Installatie Fout Afhandelen zonder Pop-up

Wat is aangepast:

Func RunInstallation($path)
    Local $iPID = Run($path & " /S", "", @SW_HIDE)
    If @error Then
        LogEvent("Er was een fout bij het starten van de installatie.")
        UpdateGUI("het_is_niet_gelukt.gif", "Fout bij starten installatie.")
        Return False
    Else
        ProcessWaitClose($iPID)
        LogEvent("De installatie is voltooid.")
        UpdateGUI("het_is_geinstalleerd.gif", "Installatie voltooid!")
        Return True
    EndIf
EndFunc

Uitleg:

  • Waarom?
    Net als bij het bestand controleren, willen we ook bij installatie foutmeldingen netjes in de GUI tonen.
  • Hoe?
    • Bij fout : Gebruik UpdateGUI met het_is_niet_gelukt.gif en een foutbericht.
    • Bij succes : Gebruik UpdateGUI met het_is_geinstalleerd.gif en een succesbericht.

6. GUI Elementen en Status Aanpassen

Wat is aangepast:

$pic = GUICtrlCreatePic($sfldr1 & "mijn.gif", 0, 0, 600, 225)
$status = _GUICtrlStatusBar_Create($gui, "", $gui)
_GUICtrlStatusBar_SetText($status, "Bezig met voorbereiden van de installatie...")

Uitleg:

  • Waarom?
    We slaan het picture control op in $pic zodat we het later makkelijk kunnen veranderen.
  • Hoe?
    Door $pic te gebruiken in de UpdateGUI functie kunnen we het gif dynamisch aanpassen.

7. Verwijderen van MsgBox Aanroepen na Installatie

Wat is verwijderd of aangepast:

  • Alle MsgBox aanroepen na de installatie zijn vervangen door UpdateGUI functie oproepen.

Uitleg:

  • Waarom?
    Om het gebruikersvriendelijker te maken en minder storen met pop-ups.
  • Hoe?
    In plaats van MsgBox, roepen we UpdateGUI op met de juiste gif en bericht.

8 Wat doet ProcessWaitClose($iPID)?

  • Wat is het?
    Het is een opdracht in AutoIt die wacht tot een bepaald programma klaar is met draaien.
  • Hoe werkt het?
    • $iPID is het ID van het programma dat je hebt gestart.
    • ProcessWaitClose($iPID) zorgt ervoor dat het script pauzeert totdat dat programma is afgesloten.

Voorbeeld:

Stel je voor dat je een installatieprogramma start:

Local $iPID = Run("Installer.exe")
ProcessWaitClose($iPID)
  • Stap 1: Het script start Installer.exe en slaat het proces-ID op in $iPID.
  • Stap 2: Het script wacht tot Installer.exe is afgesloten voordat het verder gaat.

Waarom is dit handig?

  • Wachten op voltooiing: Voordat je verder gaat met de volgende stappen in je script, weet je zeker dat de installatie klaar is.
  • Geen fouten: Het voorkomt dat je script doorgaat terwijl nog iets aan het gebeuren is, wat fouten kan voorkomen.

Samengevat:

ProcessWaitClose($iPID) zorgt ervoor dat je script even wacht tot het programma dat je hebt gestart, klaar is. Handig om alles netjes op volgorde te houden! 😎

Copy paste kan iedereen dus probeer het zelf, zo leer je het meest 😉

Heb je nog meer vragen? Laat maar komen! 🖥️🐾

Eén gedachte over “Gebruiksvriendelijke Installer met AutoIt: Stap-voor-Stap Gids”
  1. Heel erg bedankt! Leuk dat jullie een site hebben gemaakt. Nu hoef ik mij niet meer te vervelen 😀

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *