Interaktive Desktoptutorials

  • Da Autoit zu langsam ist, werden die Dateien mit Autoit erstellet und von einer C#-exe benutzt, um das auszuführen.

    C#-Datei:

    Spoiler anzeigen

    Autoit:

    Spoiler anzeigen
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=ICONS\x.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $BildTutorialCreater = GUICreate("BildTutorialCreater 2", 381, 351, 192, 124)
    $List1 = GUICtrlCreateList("", 16, 128, 249, 201)
    $Bild = GUICtrlCreateLabel("Bild: ", 16, 16, 245, 17)
    $Button1 = GUICtrlCreateButton("Durchsuchen", 280, 8, 81, 25, $WS_GROUP)
    $Input1 = GUICtrlCreateInput("10", 40, 48, 73, 21)
    $X = GUICtrlCreateLabel("X: ", 16, 48, 11, 17)
    $Y = GUICtrlCreateLabel("Y: ", 136, 48, 19, 17)
    $Input2 = GUICtrlCreateInput("10", 168, 48, 73, 21)
    $Input3 = GUICtrlCreateInput("5000", 136, 88, 89, 21)
    $Zeit = GUICtrlCreateLabel("Zeit (in Millisekunden): ", 24, 88, 110, 17)
    $Hinzu = GUICtrlCreateButton("Hinzufügen",270,300,100,25)
    $Label1= GUICtrlCreateLabel("Maus:",270,88,50,12)
    $inp1=GUICtrlCreateInput("0",270,110,100,25)
    GUICtrlSetTip(-1,"Modus: 0=Maus egal, 1=Maus in Feld, 2=Klick in Feld")
    $inp2=GUICtrlCreateInput("0",270,140,100,25)
    GUICtrlSetTip(-1,"X-Koordinate des Bildschirms")
    $inp3=GUICtrlCreateInput("0",270,180,100,25)
    GUICtrlSetTip(-1,"Y-Koordinate des Bildschirms")
    $inp4=GUICtrlCreateInput("0",270,220,100,25)
    GUICtrlSetTip(-1,"Width des Feldes")
    $inp5=GUICtrlCreateInput("0",270,260,100,25)
    GUICtrlSetTip(-1,"Height des Feldes")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Global $file=""
    Global $pres=""

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $file=FileOpenDialog("Bild suchen...","","Bilder(*.jpg;*.jpeg;*.png;*.bmp)|Alles(*.*)")
    GUICtrlSetData($Bild,"Bild: "&$file)
    Case $Hinzu
    If $pres="" Then $pres=InputBox("Präsentation","Name der Vorstellung:")
    if $file="" Then
    MsgBox(0,"Achtung","Es wurde noch kein Bild ausgewählt")
    ContinueCase
    EndIf
    if DirGetSize(@ScriptDir&"\"&$pres)<0 Then DirCreate(@ScriptDir&"\"&$pres)
    FileInstall("Bildmaler.exe",@ScriptDir&"\"&$pres&"\")
    $split=StringSplit($file,"\")
    $bild=@ScriptDir&"\"&$pres&"\"&$split[UBound($split,1)-1]
    FileCopy($file,$bild)
    $mode=Int(GUICtrlRead($inp1))
    $tx=Int(GUICtrlRead($inp2))
    $ty=Int(GUICtrlRead($inp3))
    $tw=Int(GUICtrlRead($inp4))
    $th=Int(GUICtrlRead($inp5))
    $feld=$tx&","&$ty&","&$tw&","&$th
    $line=$bild&","&Int(GUICtrlRead($Input1))&","&Int(GUICtrlRead($Input2))&","&Int(GUICtrlRead($Input3))&","&$mode&","&$feld
    FileWriteLine(@ScriptDir&"\"&$pres&"\tut.bt2",$line)
    $line=$split[UBound($split,1)-1]&","&Int(GUICtrlRead($Input1))&","&Int(GUICtrlRead($Input2))&","&Int(GUICtrlRead($Input3))&","&$mode&","&$feld
    GUICtrlSetData($List1,$line&"|")
    EndSwitch
    Sleep(10)
    WEnd

    [/autoit]


    Komplettdatei im Anhang, viel Spaß damit ;)
    Wünsche Kritik alles gerne :)

    Also noch auf Aufforderung:
    Der Creater erstellt Datien die die C#exe benutzt, genauer:
    sie liest ein welches Bild genomen werden soll und zeichnet es so lange bis:
    1. Timeout ist (Wenn ms-Zeit 0 ist gibt es kein Timeout) (Alle Modi)
    2. Maus über dem gewählten Feld ist (Modus 1)
    3. Auf ein gewähltes Feld geklickt wurde (Modus 2)
    (Bei Modus 0 wird Maus ignoriert)
    Dann kommt das nächste Bild, bis die Datei abgearbeitet wurde.
    Die C# exe nimmt Standardmäßig tut.bt1, wenn nicht vorhanden tut.bt2, wenn nicht vorhanden Msgbox
    Wenn ein Startparametergenommen wurde wird die Textdatei genommen