• Hi,

    ich habe ein Programm geschrieben, welches man immer dann starten kann wenn man sich langweilt.
    Wenn man es startet, passiert etwas Zufälliges von momentan 42 Möglichkeiten. So gibt es z.B. Spiele, interessante Informationen werden angezeigt, irgendwas lustiges passiert usw. usw.

    Damit ihr euch es besser vorstellen könnt startet ihr es am besten einfach ein paar Mal.

    Am besten ladet ihr euch die Exe runter und benutzt die, weil ansonsten einige Sachen wegen FileInstall nicht funktionieren (der Code ist trotzdem unten mit den entsprechenden Stellen dann eben entfernt).
    DOWNLOAD

    Edit: Mittlerweile gibt es über 100 Nutzer und eine neue Version mit 63 Überraschungen. Die nächste Version mit 100 kommt dann bei 250 Usern. Den Code von der aktuellen Version möchte ich aber nicht posten, da ich eigentlich nicht will das Leute im Vorraus wissen was für Überraschungen vorhanden sind, es ein paar Sachen mit FileInstall gibt und niemand mir Spam zukommen lassen soll. Ich versiche euch aber, das nichts irgendeinen Schaden anrichten soll. Ihr lest euch die 4000 Zeilen ja eh nicht durch. Sonst verwendet eben die alte Version von unten.

    Wenn ihr Bugs habt oder weitere Ideen würde ich mich sehr freuen, mir gehen nämlich langsam die Ideen aus^^. Je mehr Sachen es gibt, desto besser.
    In Teilen gekürzter Code der ersten Version:

    Spoiler anzeigen

    Am besten die Exe benutzen, weil hier einige Sachen wegen FileInstall gestrichen sind.

    Und ich hoffe du siehst dir den Code nicht an um alle Überraschungen zu kennen. Überraschungen!

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <EditConstants.au3>
    #include <ProgressConstants.au3>
    #Include <Date.au3>
    #include <StaticConstants.au3>
    #include <Array.au3>
    #Include <Misc.au3>
    #include <EditConstants.au3>
    #include <ButtonConstants.au3>
    #include <DateTimeConstants.au3>

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

    ;#include <WindowsConstants.au3>
    $WS_VSCROLL=0x00200000
    $WS_TABSTOP = 0x00010000

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

    Opt("TrayIconHide",1)

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

    ;####################################################################
    ;# #
    ;# #
    $Version="1.0" ;#
    ;# #
    ;# #
    ;####################################################################

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

    If FileExists(@AppDataDir&"\S!_Settings.ini") Then
    If _DateDiff("n",IniRead(@AppDataDir&"\S!_Settings.ini","Last","2nd",""),_NowCalc())<60 Then
    $iMsgBoxAnswer = MsgBox(324,"Surprise!",'Du hast bereits vor kurzer Zeit "Surprise!" mehrmals gestartet.' & @CRLF & @CRLF & "Der Spaß an diesem Programm kann sehr schnell vorbei sein, wenn man schon nach wenigen Stunden alle Überraschungen kennt." & @CRLF & @CRLF & "Bist du sicher, dass du den Vorgang fortsetzen möchtest?")
    Select
    Case $iMsgBoxAnswer = 7 ;No
    Exit
    EndSelect
    EndIf
    IniWrite(@AppDataDir&"\S!_Settings.ini","Last","2nd",IniRead(@AppDataDir&"\S!_Settings.ini","Last","1st",""))
    IniWrite(@AppDataDir&"\S!_Settings.ini","Last","1st",_NowCalc())
    Else
    #cs
    Entfernt wg. FileInstall
    #ce

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

    IniWrite(@AppDataDir&"\S!_Settings.ini","Last","2nd","2000/01/01 00:00:00")
    IniWrite(@AppDataDir&"\S!_Settings.ini","Last","1st",_NowCalc())
    ;--ID--
    $Letters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    $EndID=""
    $LetterLenght=StringLen($Letters)
    For $i=1 To 8
    $EndID&=StringLeft(StringTrimLeft($Letters,Random(0,$LetterLenght-1,1)),1)
    Next
    IniWrite(@AppDataDir&"\S!_Settings.ini","Update","ID",$EndID)
    ;------
    MsgBox(64,"Surprise!","Willkommen!"&@CRLF&@CRLF&"Dieses Programm beinhaltet eine Menge an unnötigem Kram. Immer wenn dir langweilig ist, starte einfach das Programm :)."&@CRLF&"Welche Überraschung gestartet wird ist zufällig."&@CRLF&"Das Programm benötigt keine Installation, also kannst du diese Datei gleich an ihren endgültigen Platz, z.B. auf den Desktop, packen."&@CRLF&@CRLF&"Das Programm ist NICHT dafür gedacht, dass man das Programm gleich zu Beginn ganz oft startet und sofort alles kennt, sondern immer mal ab und zu. Aber auch wenn du es ganz oft startest, statistisch dauert es ein paar hundert mal, bis du alles kennst ;) .")
    Exit
    EndIf

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

    ;---Updater---
    #cs
    Entfernt weil Updater nur mit Exe funktioniert
    #ce
    ;-------------
    IniWrite(@AppDataDir&"\S!_Settings.ini","Stats","Starts",IniRead(@AppDataDir&"\S!_Settings.ini","Stats","Starts",0)+1)

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

    ;-------------------------------------------------------------------------------------------------------------------------------------------------------------------
    $NuOfUe=42
    $Random=Random(1,$NuOfUe,1)
    ;~ $Random=$NuOfUe

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

    IniWrite(@AppDataDir&"\S!_Settings.ini","Known",$Random,"1")

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

    Switch $Random
    Case 1;Monitor aus
    MonitorToggle(1)
    Sleep(20000)
    MonitorToggle(0)
    Case 2;Bildschirmschoner mit Text
    $OldText=RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Screensavers\ssText3d","DisplayString")
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Screensavers\ssText3d","DisplayString","REG_SZ","LOL PEN1S")
    ShellExecute(@SystemDir&"\ssText3d.scr")
    Sleep(1000)
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Screensavers\ssText3d","DisplayString","REG_SZ",$OldText)
    Case 3;WinFlash auf alle Fenster
    $WinList=WinList()
    For $i=1 To $WinList[0][0]
    If $WinList[$i][0]<>"" And BitAND(WinGetState($WinList[$i][1]),2) And $WinList[$i][0]<>"Start" And $WinList[$i][0]<>"Program Manager" Then
    WinFlash($WinList[$i][1])
    Else
    $WinList[$i][1]=""
    EndIf
    Next
    Case 4;Elendiger Ladebalken
    Opt("GUIResizeMode",802)
    $4Form1 = GUICreate("Laden...", 220, 70)
    $4Label1 = GUICtrlCreateLabel("Laden. Bitte warten...", 8, 8)
    $4Progress1 = GUICtrlCreateProgress(10, 32, 200, 25)
    GUISetState(@SW_SHOW)

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

    For $i=0 To 100
    Sleep(70)
    GUICtrlSetData($4Progress1,$i+1)
    GUICtrlSetData($4Progress1,$i)
    Next
    For $i=200 To 800 Step 4
    $WinWid=$i+20
    WinMove($4Form1,"",(@DesktopWidth-$WinWid)/2,Default,$WinWid)
    GUICtrlSetPos($4Progress1,Default,Default,$i)
    GUICtrlSetData($4Progress1,100/($i/200))
    Sleep(0.1)
    Next
    For $i=25 To 100
    GUICtrlSetData($4Progress1,$i)
    Sleep(70*4)
    Next
    Sleep(500)
    $4Progress2=GUICtrlCreateProgress(10,70,800,25)
    $Size=WinGetPos($4Form1)
    For $i=$Size[3] To $Size[3]+50
    WinMove($4Form1,"",Default,(@DesktopHeight-$i)/2,Default,$i)
    Sleep(1)
    Next
    For $i=0 To 100
    GUICtrlSetData($4Progress2,$i)
    Sleep(70*4)
    Next
    Case 5;Auf gut Glück Viren Download
    ShellExecute("http://www.lmgtfy.com/?q=free+virus+download&l=1")
    Case 6;Mail an Angie
    ShellExecute("mailto:angie@merkel.de")
    Case 7;Nyan-Cat
    ShellExecute("http://nyan.cat/")
    Case 8;Tage bis Weihnachten
    $Year=@YEAR
    If @MON=12 And @MDAY>24 Then $Year+=1
    MsgBox(64,"Es weihnachtet sehr","Nur noch "&_DateDiff("D",_NowCalc(),$Year&"/12/24")&" Tage bis Wehnachten!!!")
    Case 9;Kein Fehler aufgetreten
    MsgBox(16,"Kein Fehler","Es ist zu lange kein Fehler aufgetreten")
    Case 10;Ist heute Weihnachten?
    $Christmas="Nein"
    If @MDAY=24 And @MON=12 Then $Christmas="Ja"
    MsgBox(64,"Ist heute Weihnachten?"," "&$Christmas&" ")
    Case 11;Progress Zahl
    Global $Progress[10][4]
    $Form1 = GUICreate("Progress Zahl", 600, 376)
    $Left=8
    $Up=8
    $Progress[1][1] = GUICtrlCreateProgress($Left+30, $Up+0, 90, 30) ;O
    $Progress[2][1] = GUICtrlCreateProgress($Left+0, $Up+0, 30, 120, $PBS_VERTICAL) ;OL
    $Progress[3][1] = GUICtrlCreateProgress($Left+120, $Up+0, 30, 120, $PBS_VERTICAL) ;OR
    $Progress[4][1] = GUICtrlCreateProgress($Left+30, $Up+120, 90, 30) ;M
    $Progress[5][1] = GUICtrlCreateProgress($Left+0, $Up+150, 30, 120, $PBS_VERTICAL) ;UL
    $Progress[6][1] = GUICtrlCreateProgress($Left+120, $Up+150, 30, 120, $PBS_VERTICAL);UR
    $Progress[7][1] = GUICtrlCreateProgress($Left+30, $Up+240, 90, 30) ;U
    $Progress[8][1] = GUICtrlCreateProgress($Left+0, $Up+120, 30, 30) ;L
    $Progress[9][1] = GUICtrlCreateProgress($Left+120, $Up+120, 30, 30) ;R

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

    $Left=218
    $Up=8
    $Progress[1][2] = GUICtrlCreateProgress($Left+30, $Up+0, 90, 30) ;O
    $Progress[2][2] = GUICtrlCreateProgress($Left+0, $Up+0, 30, 120, $PBS_VERTICAL) ;OL
    $Progress[3][2] = GUICtrlCreateProgress($Left+120, $Up+0, 30, 120, $PBS_VERTICAL) ;OR
    $Progress[4][2] = GUICtrlCreateProgress($Left+30, $Up+120, 90, 30) ;M
    $Progress[5][2] = GUICtrlCreateProgress($Left+0, $Up+150, 30, 120, $PBS_VERTICAL) ;UL
    $Progress[6][2] = GUICtrlCreateProgress($Left+120, $Up+150, 30, 120, $PBS_VERTICAL);UR
    $Progress[7][2] = GUICtrlCreateProgress($Left+30, $Up+240, 90, 30) ;U
    $Progress[8][2] = GUICtrlCreateProgress($Left+0, $Up+120, 30, 30) ;L
    $Progress[9][2] = GUICtrlCreateProgress($Left+120, $Up+120, 30, 30) ;R

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

    $Left=426
    $Up=8
    $Progress[1][3] = GUICtrlCreateProgress($Left+30, $Up+0, 90, 30) ;O
    $Progress[2][3] = GUICtrlCreateProgress($Left+0, $Up+0, 30, 120, $PBS_VERTICAL) ;OL
    $Progress[3][3] = GUICtrlCreateProgress($Left+120, $Up+0, 30, 120, $PBS_VERTICAL) ;OR
    $Progress[4][3] = GUICtrlCreateProgress($Left+30, $Up+120, 90, 30) ;M
    $Progress[5][3] = GUICtrlCreateProgress($Left+0, $Up+150, 30, 120, $PBS_VERTICAL) ;UL
    $Progress[6][3] = GUICtrlCreateProgress($Left+120, $Up+150, 30, 120, $PBS_VERTICAL);UR
    $Progress[7][3] = GUICtrlCreateProgress($Left+30, $Up+240, 90, 30) ;U
    $Progress[8][3] = GUICtrlCreateProgress($Left+0, $Up+120, 30, 30) ;L
    $Progress[9][3] = GUICtrlCreateProgress($Left+120, $Up+120, 30, 30) ;R
    $Label1 = GUICtrlCreateLabel("Bitte gebe eine beliebige Zahl ein:", 8, 332, 264, 17)
    $Input1 = GUICtrlCreateInput("0", 8, 348, 153, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUISetState(@SW_SHOW)

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

    $OldInput=""

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    $Input=GUICtrlRead($Input1)
    If StringLen($Input)=0 Then
    $Input&=" "
    ElseIf StringLen($Input)=1 Then
    $Input&=" "
    ElseIf StringLen($Input)=2 Then
    $Input&=" "
    EndIf
    If StringLen($Input)>3 Then
    $Input=StringRight($Input,3)
    GUICtrlSetData($Input1,$Input)
    ElseIf $Input<>$OldInput And $Input<>"" Then
    $OldInput=$Input
    ;1. Zahl
    $Zahl1=StringLeft($Input,1)
    Draw($Zahl1,1)
    ;2. Zahl
    $Zahl1=StringLeft(StringTrimLeft($Input,1),1)
    Draw($Zahl1,2)
    ;3. Zahl
    $Zahl1=StringRight($Input,1)
    Draw($Zahl1,3)
    EndIf
    WEnd
    Case 12;Ladebalken
    $12Form1 = GUICreate("Ladebalken", 215, 75)
    $12Progress1 = GUICtrlCreateProgress(8, 8, 198, 25)
    $12Slider1 = GUICtrlCreateSlider(0, 40,215, 29)
    GUISetState(@SW_SHOW)
    While 1
    GUICtrlSetData($12Progress1,GUICtrlRead($12Slider1))
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd
    Case 13;Drop Off (Spiel)
    #cs
    Entfernt wg. FileInstall
    #ce
    MsgBox(16,"","Diese Funktion gibt es nur in der Exe-Version wegen FileInstall")
    Case 14;Laufwerk öffnen
    Dim $Buchstaben[26]=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
    For $i=0 To 25
    If DriveGetType($Buchstaben[$i]&":")="CDROM" Then CDTray($Buchstaben[$i]&":","open")
    Next
    Case 15;Weltuhr
    Global $InfoX[10],$15Label[10],$15LabelTitle[10]
    Dim $Info[11][2]
    ; Kategorie | Anz/Sek
    $InfoX[0]="Geburten|4.250175"
    $InfoX[1]="Tote|1.808620"
    $InfoX[2]="Bevölkerungswachstum|2.441554"
    $InfoX[3]="Abtreibungen|1.457683"
    $InfoX[4]="HIV Infektionen|0.079221"
    $InfoX[5]="Krebskranke|0.348576"
    $InfoX[6]="Ausgestorbene Arten|0.000855"
    $InfoX[7]="Abgeholzter Wald (ha)|0.411953"
    $InfoX[8]="Gefördertes Öl (bbl)|960.0112"
    $InfoX[9]="Produzierte Autos|1.140795"
    For $i=0 To 9
    $Temp=StringSplit($InfoX[$i],"|")
    $Info[$i][0]=$Temp[1]
    $Info[$i][1]=$Temp[2]
    Next
    $15Form1 = GUICreate("Heute", 250, 250)
    $15Label1 = GUICtrlCreateLabel("Heute", 8, 8, 38, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $15Label2 = GUICtrlCreateLabel("( Minuten)", 48, 8,150)
    For $i=0 To 9
    $15LabelTitle[$i] = GUICtrlCreateLabel($Info[$i][0], 0, 40+$i*20, 120,-1, $SS_RIGHT)
    $15Label[$i] = GUICtrlCreateLabel("-1", 130, 40+$i*20,150)
    Next
    GUISetState(@SW_SHOW)

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

    $u=18
    While 1
    Sleep(50)
    If $u=18 Then
    $SecTod=_DateDiff("s",@YEAR&"/"&@MON&"/"&@MDAY&" 00:00:00",_NowCalc())
    GUICtrlSetData($15Label2,"("&Round($SecTod/60,0)&" Minuten)")
    For $i=0 To 9
    GUICtrlSetData($15Label[$i],Round($Info[$i][1]*$SecTod,0))
    Next
    $u=0
    Else
    $u+=1
    EndIf

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

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd
    Case 16;Furchtbares Hotkey
    $16Form1 = GUICreate("", 625, 445, 192, 124, BitOR(0x01000000,0x80000000,0x00000200))
    GUISetBkColor(0x000000)
    $16Label1 = GUICtrlCreateLabel("Drücken Sie Alt+F1+3+H+Enter+Entf+P, um fortzufahren",(@DesktopWidth-270)/2,@DesktopHeight/2-20, 270, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUISetState(@SW_SHOW)
    While 1
    ; Alt F1 3 H Enter Entf P
    If _IsPressed("12") And _IsPressed("70") And _IsPressed("33") And _IsPressed("48") And _IsPressed("0D") And _IsPressed("2E") And _IsPressed("50") Then Exit
    WEnd
    Case 17;30 Msgboxen gleichzeitig
    #cs
    Entfernt wg. FileInstall
    #ce
    MsgBox(16,"","Diese Funktion gibt es nur in der Exe-Version wegen FileInstall")
    Case 18;30 Msgboxen hintereinander
    MsgBox(48,"","Guten Tag!")
    MsgBox(48,"","Um "&@HOUR&":"&@MIN&" Uhr ist es immer am besten, Surprise! zu starten.")
    MsgBox(48,"","Du ahnst schon, was jetzt kommt?")
    MsgBox(48,"","Eine nie endene Flutwelle aus Hinweis-Boxen?")
    MsgBox(48,"","...")
    MsgBox(48,"","Richtig! :D")
    MsgBox(48,"","Und, hast du schon den Ton ausgeschaltet, weil dich das Geräusch von Warn-Fenstern nervt?") ;Ton aus
    MsgBox(48,"","Wundert mich nicht.")
    MsgBox(48,"","Kennst du eigentlich schon die anderen Überraschungen mit Hinweißfenstern?")
    MsgBox(48,"","Hoffentlich noch nicht :D")
    MsgBox(48,"","Dies hier ist übrigents Überraschung Nr. 18 von "&$NuOfUe)
    MsgBox(48,"","Und angenommen, dass man nur einmal pro Tag dieses Programm startet, hält diese Anzahl auch eine ganze Weile lang.")
    MsgBox(48,"","Und ausserdem ist die Verteilung der Überraschung ja zufällig, also hat man auch einige doppelt.")
    MsgBox(48,"","-Hier könnte Ihre Werbung stehen!-")
    MsgBox(48,"","Kennst du schon meine anderen Programme? Besuch einfach mal xxluke.de")
    MsgBox(48,"","Joa, was kann ich denn sonst noch so schreiben...")
    MsgBox(48,"","ROFL LOL XD!!!")
    MsgBox(48,"","Nerve ich dich wenigstens etwas?")
    MsgBox(48,"","Hoffe ich doch.")
    MsgBox(48,"","Aber keine Sorge, so lange dauert es nicht mehr.")
    MsgBox(48,"","Dies ist Nachricht Nummer 21")
    MsgBox(48,"","Aber wie viele Sind es insgesammt?")
    MsgBox(48,"","Vielleicht 42?")
    MsgBox(48,"","Naja, ich will dir ja auch nicht die ganze Zeit rauben...")
    MsgBox(48,"","...du willst ja sicherlich noch etwas aufräumen.")
    MsgBox(48,"","Oder zähneputzen (man kann nie genug Zähne putzen!)")
    MsgBox(48,"","So, und nun noch viel Spaß mit "&@OSVersion)
    MsgBox(48,"","Denk dran, dass du xxluke.de besuchen wolltest! ;)")
    MsgBox(48,"","Adios!")
    Sleep(1000*30)
    MsgBox(48,"","Du bist ja immernoch da, ich sagte 'Adios'!")
    Case 19;Alle Fenster transparenz
    $WinList=WinList()
    Global $WinState[$WinList[0][0]+1]
    For $i=1 To $WinList[0][0]
    If $WinList[$i][0]<>"" And BitAND(WinGetState($WinList[$i][1]),2) And $WinList[$i][0]<>"Start" And $WinList[$i][0]<>"Program Manager" Then
    WinSetState($WinList[$i][1],"",@SW_RESTORE)
    WinSetTrans($WinList[$i][1],"",123)
    Else
    $WinList[$i][1]=""
    EndIf
    Next
    Sleep(30000)
    $WinList=WinList()
    For $i=1 To $WinList[0][0]
    If $WinList[$i][0]<>"" And BitAND(WinGetState($WinList[$i][1]),2) And $WinList[$i][0]<>"Start" And $WinList[$i][0]<>"Program Manager" Then
    WinSetTrans($WinList[$i][1],"",255)
    Else
    $WinList[$i][1]=""
    EndIf
    Next
    Case 20;Ideen-Abfrage
    #cs
    Entfernt wg. Spam
    #ce
    MsgBox(16,"","Diese Funktion gibt es nur in der Exe-Version wegen Spam-Schutz")
    Case 21;Ist Westerwelle noch im Amt?
    $Guido="Nein"
    If InetGet("http://www.istwesterwellenochimamt.de/",@TempDir&"\S_Guido.fdp",1) Then
    If StringInStr(FileRead(@TempDir&"\S_Guido.fdp"),"Ja.") Then $Guido="Ja"
    FileDelete(@TempDir&"\S_Guido.fdp")
    EndIf
    MsgBox(64,"Ist Westerwelle noch im Amt?","Ist Westerwelle noch im Amt?" & @CRLF & @CRLF & $Guido)
    Case 22;Wie alt bist du wirklich?
    $22aForm1 = GUICreate("Wie alt bist du wirklich?", 203, 88)
    $22aDate1 = GUICtrlCreateDate("1990/01/01", 8, 28, 186, 21,$DTS_SHORTDATEFORMAT)
    $22aLabel1 = GUICtrlCreateLabel("Bitte gib dein Geburtsdatum ein:", 8, 8,-1,18)
    $22aButton1 = GUICtrlCreateButton("OK", 112, 56, 83, 25, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $22aButton1
    $Birthdate=StringSplit(GUICtrlRead($22aDate1),".")
    $Birthdate=$Birthdate[3]&"/"&$Birthdate[2]&"/"&$Birthdate[1]
    GUIDelete($22aForm1)
    ExitLoop
    EndSwitch
    WEnd
    $SecLife=_DateDiff("s",$Birthdate,_NowCalc())
    $MonLife=_DateDiff("M",$Birthdate,_NowCalc())

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

    $22bForm1 = GUICreate("Wie alt bist du wirklich?", 149, 168)
    $22bLabel1 = GUICtrlCreateLabel("Du lebst seit...", 8, 8)
    $22bLabel2 = GUICtrlCreateLabel(Round($MonLife/12,1)&" Jahren", 16, 24)
    $22bLabel3 = GUICtrlCreateLabel($MonLife&" Monaten", 16, 40)
    $22bLabel4 = GUICtrlCreateLabel($SecLife/60^2/24&" Tagen", 16, 56)
    $22bLabel5 = GUICtrlCreateLabel($SecLife/60^2&" Stunden", 16, 72)
    $22bLabel6 = GUICtrlCreateLabel($SecLife/60&" Minuten", 16, 88)
    $22bLabel7 = GUICtrlCreateLabel($SecLife&" Sekunden", 16, 104)
    $22bLabel8 = GUICtrlCreateLabel(Round($SecLife/60^2/24/687,1)&" Marsjahren", 16, 128)
    $22bLabel9 = GUICtrlCreateLabel(Round($SecLife/35430,1)&" Jupiterjahren", 16, 144)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd
    Case 23;xxluke.de aufrufen
    ShellExecute("http://xxluke.de/")
    Case 24;rainymood.com aufrufen
    ShellExecute("http://www.rainymood.com/")
    Case 25;Klickspiel
    $25Form1 = GUICreate("Klickspiel", 600, 290)
    $25Label1 = GUICtrlCreateLabel("Das allseits beliebte KLICKSPIEL!"&@CRLF&"Klicke einfach innerhalb von 10 Sekunden so oft wie möglich auf den Button:", 8, 8)
    $25Button1 = GUICtrlCreateButton("Starten", 150, 120, 300, 145)
    GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif")
    $25Button2 = GUICtrlCreateButton("X", 601, 291, 0, 0,$BS_DEFPUSHBUTTON)
    $25Label2 = GUICtrlCreateLabel("Klicks", 296, 72, 68, 33)
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    $25Label3 = GUICtrlCreateLabel("0", 259, 72, 30, 33)
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    $25Label4 = GUICtrlCreateLabel("Noch", 256, 48, 30, 17)
    $25Label5 = GUICtrlCreateLabel("10", 288, 48, 19, 17)
    $25Label6 = GUICtrlCreateLabel("Sekunden", 312, 48, 53, 17)
    GUISetState(@SW_SHOW)
    $Run=False

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $25Button1
    If $Run=False Then
    GUICtrlSetData($25Button1,"KLICKEN")
    $Klicks=0
    Klick()
    $Run=True
    $Timer=TimerInit()
    Else
    Klick()
    If Random(1,15,1)=1 Then GUICtrlSetState($25Button2,$GUI_FOCUS)
    EndIf
    Case $25Button2
    GUICtrlSetData($25Button1,"KLICKEN, nicht Enter")
    EndSwitch
    If $Run=True Then
    $TimeDiff=Round((10000-TimerDiff($Timer))/1000,1)
    GUICtrlSetData($25Label5,$TimeDiff)
    If $TimeDiff<=0 Then
    $Run=False
    GUICtrlSetData($25Label5,"0")
    GUICtrlSetData($25Button1,"Starten")
    GUICtrlSetState($25Button1,$GUI_DISABLE)
    Sleep(3000)
    GUICtrlSetState($25Button1,$GUI_ENABLE)
    GUICtrlSetData($25Label5,"10")
    EndIf
    EndIf
    WEnd

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

    Case 26;Liebesrechner <3
    $26Form1 = GUICreate("Liebes-Rechner", 625, 209)
    GUISetBkColor(0xFF00FF)
    $26Label1 = GUICtrlCreateLabel("<3 <3 <3", 8, 8)
    GUICtrlSetColor(-1, 0xFF0000)
    $26Label2 = GUICtrlCreateLabel("<3 <3 <3", 576, 8)
    GUICtrlSetColor(-1, 0xFF0000)
    $26Label3 = GUICtrlCreateLabel("Liebes-Rechner", 216, 56, 176, 33)
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $26Input1 = GUICtrlCreateInput("", 64, 152, 193, 21)
    $26Label4 = GUICtrlCreateLabel("Name 1:", 64, 130)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $26Label5 = GUICtrlCreateLabel("Name 2:", 344, 130)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $26Button1 = GUICtrlCreateButton("Berechnen", 264, 152, 75, 25,$BS_DEFPUSHBUTTON)
    $26Input2 = GUICtrlCreateInput("", 344, 152, 193, 21)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $26Button1
    Local $Count[2]
    $Count[0]=1
    $Count[1]=1
    Local $Input[2]
    $Input[0]=GUICtrlRead($26Input1)
    $Input[1]=GUICtrlRead($26Input2)
    For $i=0 To 1
    If StringInStr($Input[$i],"a") Then $Count[$i]+=1
    If StringInStr($Input[$i],"b") Then $Count[$i]+=2
    If StringInStr($Input[$i],"c") Then $Count[$i]+=3
    If StringInStr($Input[$i],"d") Then $Count[$i]+=4
    If StringInStr($Input[$i],"e") Then $Count[$i]+=1
    If StringInStr($Input[$i],"f") Then $Count[$i]+=2
    If StringInStr($Input[$i],"g") Then $Count[$i]+=3
    If StringInStr($Input[$i],"h") Then $Count[$i]+=4
    If StringInStr($Input[$i],"i") Then $Count[$i]+=1
    If StringInStr($Input[$i],"j") Then $Count[$i]+=2
    If StringInStr($Input[$i],"k") Then $Count[$i]+=3
    If StringInStr($Input[$i],"l") Then $Count[$i]+=4
    If StringInStr($Input[$i],"m") Then $Count[$i]+=1
    If StringInStr($Input[$i],"n") Then $Count[$i]+=2
    If StringInStr($Input[$i],"o") Then $Count[$i]+=3
    If StringInStr($Input[$i],"p") Then $Count[$i]+=4
    If StringInStr($Input[$i],"q") Then $Count[$i]+=1
    If StringInStr($Input[$i],"r") Then $Count[$i]+=2
    If StringInStr($Input[$i],"s") Then $Count[$i]+=3
    If StringInStr($Input[$i],"t") Then $Count[$i]+=4
    If StringInStr($Input[$i],"u") Then $Count[$i]+=1
    If StringInStr($Input[$i],"v") Then $Count[$i]+=2
    If StringInStr($Input[$i],"w") Then $Count[$i]+=3
    If StringInStr($Input[$i],"x") Then $Count[$i]+=4
    If StringInStr($Input[$i],"y") Then $Count[$i]+=1
    If StringInStr($Input[$i],"z") Then $Count[$i]+=2
    Next
    If $Count[0]>=$Count[1] Then
    $Big=$Count[0]
    $Small=$Count[1]
    Else
    $Big=$Count[1]
    $Small=$Count[0]
    EndIf
    $Prozent=Round((100/$Big)*$Small)
    GUICtrlSetData($26Label3,"Ergebnis: "&$Prozent&"%")
    EndSwitch
    WEnd
    Case 27;Wie sieht der Cursor aus?
    $Timer=TimerInit()
    While 1
    If Round(60-TimerDiff($Timer)/1000)<0 Then Exit
    $IDs = StringSplit("Hintergrundaktivität|Pfeil|Kreuz|Hilfe|Textauswahl|Icon|Ne, is' nich'|Größe|Größe Alles|Größe NO-SW|Größe NS|Größe NW-SO|Größe WO|Alternative Auswahl|Ausgelastet|Hand", "|")
    $IDs[0] = "Unbekannt"
    $cursor = MouseGetCursor()
    ToolTip($IDs[$cursor]&@CRLF&"(Programm beendet sich in "&Round(60-TimerDiff($Timer)/1000)&")",@DesktopWidth/2,@DesktopHeight/2,"Dein Cursor derzeit:",1,2)
    Sleep(400)
    WEnd
    Case 28;Bewegender Schließen-Button
    $28Form1 = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, BitOR(0x01000000,0x80000000,0x00000200))
    GUISetBkColor(0x000000)
    $28Button1 = GUICtrlCreateButton("Fenster schließen",@DesktopWidth/2,@DesktopHeight/2)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $28Button1
    Exit
    EndSwitch
    If Random(1,6,1)=1 Then
    GUICtrlSetPos($28Button1,Random(1,@DesktopWidth),Random(1,@DesktopHeight))
    EndIf
    Sleep(50)
    WEnd
    Case 29;Maus zittert
    $Timer=TimerInit()
    While 1
    $Pos=MouseGetPos()
    MouseMove($Pos[0]+Random(-20,20),$Pos[1]+Random(-20,20),1)
    If TimerDiff($Timer)>30000 Then Exit
    Sleep(70)
    WEnd
    Case 30;Welches Land ist größer?
    Global $Info[31],$Land[31][2]
    $Info[0]="Afghanistan|652230"
    $Info[1]="Ägypten|1001450"
    $Info[2]="Aserbaidschan|86600"
    $Info[3]="Bulgarien|110879"
    $Info[4]="Nord Korea|120538"
    $Info[5]="Griechenland|131957"
    $Info[6]="Weißrussland|207600"
    $Info[7]="Rumänien|238391"
    $Info[8]="Ghana|238533"
    $Info[9]="Großbritannien|243610"
    $Info[10]="Neuseeland|267710"
    $Info[11]="Philippinen|300000"
    $Info[12]="Italien|301340"
    $Info[13]="Polen|312685"
    $Info[14]="Norwegen|323802"
    $Info[15]="Deutschland|357022"
    $Info[16]="Japan|377915"
    $Info[17]="Irak|438317"
    $Info[18]="Schweden|450295"
    $Info[19]="Spanien|505370"
    $Info[20]="Jemen|527968"
    $Info[21]="Marokko|446550"
    $Info[22]="Frankreich|551500"
    $Info[23]="Madagaskar|587041"
    $Info[24]="Burkina Faso|274200"
    $Info[25]="Senegal|196722"
    $Info[26]="Kuba|110860"
    $Info[27]="Island|103000"
    $Info[28]="Nepal|147181"
    $Info[29]="Uruguay|176215"
    $Info[30]="Südsudan|619745"

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

    For $i=0 To 30
    $Temp=StringSplit($Info[$i],"|")
    $Land[$i][0]=$Temp[1]
    $Land[$i][1]=$Temp[2]
    Next

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

    $30Form1 = GUICreate("Welches Land ist größer?", 300, 109)
    $30Label1 = GUICtrlCreateLabel("Punkte: 0", 8, 8, 58, 17)
    $30Label2 = GUICtrlCreateLabel("Welches Land ist größer?", 40, 48, 125, 17)
    $30Button1 = GUICtrlCreateButton("", 8, 72, 91, 25)
    $30Button2 = GUICtrlCreateButton("", 112, 72, 91, 25)
    $30Label3 = GUICtrlCreateLabel("Highscore:", 216, 8, 90, 17)
    $30LabelH1 = GUICtrlCreateLabel("", 216, 32,100,20)
    $30LabelH2 = GUICtrlCreateLabel("", 216, 56,100,20)
    $30LabelH3 = GUICtrlCreateLabel("", 216, 80,100,20)
    GUISetState(@SW_SHOW)

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

    $Land1=Random(0,30,1)
    Do
    $Land2=Random(0,30,1)
    Until $Land2<>$Land1
    $Land1=12
    $Land2=1

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

    GUICtrlSetData($30Button1,$Land[$Land1][0])
    GUICtrlSetData($30Button2,$Land[$Land2][0])
    $Punkte=0
    Global $H[4][2]
    $H[1][0]=""
    $H[2][0]=""
    $H[3][0]=""
    $H[1][1]=0
    $H[2][1]=0
    $H[3][1]=0

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

    $Klick=0
    While 1
    Sleep(10)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $30Button1
    $Klick=1
    Case $30Button2
    $Klick=2
    EndSwitch
    If $Klick<>0 Then
    ;~ _ArrayDisplay($Land)
    If ($Klick=1 And Int($Land[$Land1][1])>Int($Land[$Land2][1])) Or ($Klick=2 And Int($Land[$Land1][1])<Int($Land[$Land2][1])) Then
    $Punkte+=1
    GUICtrlSetData($30Label1,"Punkte: "&$Punkte)
    Else
    MsgBox(16,"Falsche Antwort","Das war leider die falsche Antwort :("&@CRLF&$Land[$Land1][0]&": "&_StringAddThousandsSep($Land[$Land1][1],".")&" km²"&@CRLF&$Land[$Land2][0]&": "&_StringAddThousandsSep($Land[$Land2][1],".")&" km²")
    If $Punkte>$H[3][1] Then
    $Name = InputBox("Neuer Highscore","Du hast einen neuen Highscore aufgestellt! Bitte gib deinen Namen ein:",""," ","400","130",(@DesktopWidth-400)/2,(@DesktopHeight-130)/2)
    Select
    Case @Error = 0 ;OK
    ;Array Add
    $UBound=UBound($H)
    ReDim $H[$UBound + 1][2]
    $H[$UBound][0]=$Name
    $H[$UBound][1]=$Punkte
    ;--
    _ArraySort($H,1,1,$UBound,1)
    If $H[1][0]<>"" Then GUICtrlSetData($30LabelH1,$H[1][0]&": "&$H[1][1])
    If $H[2][0]<>"" Then GUICtrlSetData($30LabelH2,$H[2][0]&": "&$H[2][1])
    If $H[3][0]<>"" Then GUICtrlSetData($30LabelH3,$H[3][0]&": "&$H[3][1])
    EndSelect
    EndIf

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

    $Punkte=0
    GUICtrlSetData($30Label1,"Punkte: "&$Punkte)
    EndIf
    $Land1=Random(0,30,1)
    Do
    $Land2=Random(0,30,1)
    Until $Land2<>$Land1
    GUICtrlSetData($30Button1,$Land[$Land1][0])
    GUICtrlSetData($30Button2,$Land[$Land2][0])
    $Klick=0
    EndIf
    WEnd
    Case 31;Besondere Tage
    Switch @MDAY&"."&@MON&"."
    Case "01.01."
    $Text="Frohes neues Jahr!"
    Case "29.01."
    $Text="Heute ist xxluke's Geburtstag!"
    Case "14.02."
    $Text="Schönes Valentinstag!"
    Case "25.04."
    $Text="Tag des Baumes!!!"
    Case "02.02."
    $Text="Und täglich grüßt das Murmeltier."
    Case "21.01."
    $Text="Heute ist Hug Day = Tag der Umarmung!"
    Case "21.02."
    $Text="Heute ist Welttag des Fremdenführers. Wenn das nicht ein Grund zum feiern ist!"
    Case "29.02."
    $Text="Kennst du jemanden der heute Geburtstag hat und über 18 ist?"
    Case "08.03."
    $Text="Heute ist Welt-Frauen-Tag."
    Case "14.03."
    $Text="3,14159265... Weil heute das Datum auf englisch 3/14 ist, ist heute Pi-Tag!"
    Case "17.03."
    $Text="Heute ist St. Patrick's Day."
    Case "01.04."
    ShellExecute("http://lmgtfy.com/?q=aprilscherz+idee")
    $Text="Falls du noch keine Idee hast ;)"
    Case "22.04."
    $Text="Heute ist Tag der Erde. Es gibt übrigents auch einen Tag der Sonne."
    Case "23.04."
    $Text="Heute ist der Tag des deutschen Bieres. Du weißt, was das bedeutet?"
    Case "26.04."
    $Text="Heute ist Welttag des geistigen Eigentums, wo daran erinnert wird das z.B. dieses Programm mir gehört und du nicht einfach damit machen darfst, was du willst."
    Case "27.04."
    $Text="Am heutigen Welt-Grafiker-Tag ehren wir die Person, die dieses wunderschöne i da links gemacht hat."
    Case "30.04."
    $Text="Heute ist Walpurgisnacht"
    Case "05.05."
    $Text="Heute ist Tag der Händehygiene!"
    Case "20.05."
    $Text="Heute darfst du mal etwas verehren, was sonst immer zu kurz kommt: Heute ist Venentag!"
    Case "25.05."
    $Text="42! Heute ist Tag des Handtuchs!"
    Case "28.05."
    $Text="Bei Spurprise! gibt es auch ein paar Spiele. Ärgerlich dass du diesmal keins erwischt hast, es ist nämlich Weltspieltag. :("
    Case "31.05."
    $Text="Heute darfst du mal alle Raucher beleidigen. Es ist nämlich Weltnichtrauchertag!"&@CRLF&@CRLF&"(Keine Sorge dass sie dich am Weltrauchertag beleidigen, es gibt nämlich garkeinen ;) )"
    Case "21.06."
    $Text="Bist du heute etwa schon um "&@HOUR&" Uhr aufgestanden? Heute ist doch Tag des Schlafes!"
    Case "13.08."
    $Text="Nimm dir am heutigen Weltlinkshändertag vor, ausschließlich mit links zu schreiben."
    Case "05.09."
    $Text="Heute ist der offizielle deutsche Kopfschmerztag! :)"
    Case "09.09."
    $Text='Fröhlichen "Tag des alkoholgeschädigten Kindes"!'
    Case "19.09."
    $Text="Arrrg, heute ist Sprrrich-wie ein-Pirrrrat-Tag!"
    Case "21.09."
    $Text="An den heutigen Tag wirst du dich ewig erinnern: Der Welt-Alzheimertag!"
    Case "04.10."
    $Text="Hilf heute auch mal der Nachbarskatze über die Straße, denn heute ist Welttierschutztag."
    Case "20.10."
    $Text="Der heutige Weltstatistiktag findet durchschnittlich ein Mal pro Jahr statt."
    Case "25.10."
    $Text="Fröhlichen Weltnudeltag!"
    Case "31.10."
    $Text="Fröhliches, ääh, unheimliches Halloween!"&@CRLF&@CRLF&"Und Reformationstag ist natürlich auch heute."
    Case "03.11."
    $Text="Heute ist Weltmännertag."
    Case "05.12."
    $Text="Heute ist Weltbodentag!"
    Case "06.12."
    $Text="Schuhe geputzt?"
    Case "24.12."
    $Text="Frohe Weihnachten!"
    Case "25.12."
    $Text="Frohe Weihnachten!"
    Case "31.12."
    $Text="Tja, das war es auch schon wieder mit "&@YEAR
    EndSwitch
    If @MDAY>23 And @MON=09 And @WDAY=6 Then $Text="Heute ist Tag des Butterbrotes!"
    If @MDAY>24 And @MON=07 And @WDAY=6 Then $Text="Heute ist Tag des Systemadministrators! :)"
    If @MDAY>24 And @MON=03 And @WDAY=7 Then $Text="Heute ist Earth Day, wo dazu aufgerufen wird für eine Stunde das Licht auszumachen."
    If IsDeclared("Text") Then
    MsgBox(64,"Besonderer Tag",$Text)
    Else
    ContinueCase
    EndIf
    Case 32;Unnützes Wissen/Fakten aus dem Guinness Buch
    $Fakten=StringSplit("70 Joule verbraucht der Körper pro Sekunde. Das entspricht einer 70-Watt-Glühbirne|" & _
    "Im Gehirn gibt es 200.000.000.000 Neuronen.|" & _
    "Wenn man auf eine Nadel tritt, bemerkt man dies erst 0,2 Sekunden später.|" & _
    "Die längste Autofahrt mit Kaffeeantrieb betrug 337 km.|" & _
    "Man betätigt 15.250 Mal in seinem Leben die Autohupe.|" & _
    "Du verbringst 10 Jahre deines Lebens auf der Arbeit.|" & _
    "Ein Lockführer verbringt 14% seines Lebens im Zug.|" & _
    "Wenn du mit heliumgefüllten Luftballons abheben willst, brauchst du ca. 16.000 Stück.|" & _
    "Obst ist das einzige Nahrungsmittel, das gegessen werden will.|" & _
    "Der größte Ball aus Frischhaltefolie hat einen Durchmesser von 1,1 Metern.|" & _
    "Der durchschnittliche Videospieler ist 34 Jahre alt.|" & _
    "Man sieht in seinem Leben durchschnittlich 5.609 Filme.|" & _
    "Der Eifelturm schrumpft bei Kälte um 15 cm.|" & _
    "Beim Capgras-Syndrom denkt jemand, dass ein naher Verwandter oder ein Freund durch einen Doppelgänger ersetzt wurde.|" & _
    "In Florida darf man nicht unter Wasser pfeifen.|" & _
    "In Casinos in Las Vegas hängen keine Uhren.|" & _
    "Fische können an Sonnenbrand sterben.|" & _
    "Dennis Hope ist der Besitzer des Sonnensystems, ausgenommen von der Erde.|" & _
    'Im DDR-Duden fehlten die Worte "Weltreise" und "Kreuzfahrt".',"|"); ".|" & _
    MsgBox(64,"Unnützes Wissen",$Fakten[Random(1,UBound($Fakten),1)])
    Case 33;Megapixel/Bildgrößenberechner
    $sInputBoxAnswer = InputBox("Megapixel-Berechner","Gib die Megapixelzahl eines deiner technischen Geräte ein:",""," ","400","130")
    Select
    Case @Error = 1 ;The Cancel button was pushed
    Exit
    EndSelect
    $sInputBoxAnswer=StringReplace($sInputBoxAnswer,",",".")
    $ExtraText=""
    If $sInputBoxAnswer>6 Then $ExtraText=@CRLF & @CRLF & "Du willst garnicht so große Bilder machen? Dann hat deine Kamera unsinnig viele Megapixel. 6 MP sind optimal für Kompaktkameras, bei größeren Werten nimmt die Qualität des Bilders sogar wieder ab."
    $Seitenlaenge=Round(Sqrt($sInputBoxAnswer*6000/31),1)
    MsgBox(64,"Migaoixel-Berechner","Vorrausgesetzt, du hast keine Spiegel-Reflex-Kamera (vermutlich):" & @CRLF & @CRLF & "Deine Megapixel-Zahl ist optimal für Bilder der Größe "&$Seitenlaenge&"x"&$Seitenlaenge&" cm." & $ExtraText)
    Case 34;Reaktionstest Klicken
    $34Form1 = GUICreate("Reaktionstest", 625, 295)
    $34Label1 = GUICtrlCreateLabel("Klicke so schnell wie möglich auf die farbige Fläche, wenn sie erscheint:", 8, 8, 343, 17)
    $34Label2 = GUICtrlCreateLabel("", 56, 48, 492, 188)
    GUICtrlSetBkColor(-1, 0xFFFF00)
    GUICtrlSetState(-1,$GUI_HIDE)
    $34Label3 = GUICtrlCreateLabel("", 16, 264,128,20)
    $34Button1 = GUICtrlCreateButton("Nochmal", 144, 256, 115, 25)
    GUICtrlSetState(-1,$GUI_HIDE)
    GUISetState(@SW_SHOW)

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

    $MinTimer=TimerInit()
    $StopAt=3000+Random(0,4000,1)
    $Yellow=False

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

    While 1
    If TimerDiff($MinTimer)>=$StopAt And $Yellow=False Then
    GUICtrlSetState($34Label2,$GUI_SHOW)
    $Timer=TimerInit()
    $Yellow=True
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $34Label2
    $Diff=Round(TimerDiff($Timer))
    GUICtrlSetState($34Button1,$GUI_SHOW)
    GUICtrlSetState($34Label3,$GUI_SHOW)
    GUICtrlSetData($34Label3,"Benötigte Zeit: "&$Diff&"ms")
    Case $34Button1
    GUICtrlSetState($34Label2,$GUI_HIDE)
    GUICtrlSetState($34Label3,$GUI_HIDE)
    GUICtrlSetState($34Button1,$GUI_HIDE)
    $Yellow=False
    $MinTimer=TimerInit()
    $StopAt=3000+Random(0,4000,1)
    EndSwitch
    WEnd
    Case 35;Lustige Weltuhr
    Global $InfoX[10],$35Label[10],$35LabelTitle[10]
    Dim $Info[11][2]
    ; Kategorie | Anz/Sek
    $InfoX[0]="Verletzte durch Zahnstocher|0.000279"
    $InfoX[1]="Kosten durch verlorene Zeit durch Staus|12118.7425"
    $InfoX[2]="In den USA ausgeschlagene Zähne|0.15844"
    $InfoX[3]="Hochzeiten in Las Vegas|0.0034857"
    $InfoX[4]="Gestorbene Linkshänder durch Benutzung von Geräten für Rechtshänder|"&25/315576
    $InfoX[5]="Verletzte Amerikaner durch Toiletten|0.0012675"
    $InfoX[6]="Neue Punkte in Flensburg|"&1/1200
    $InfoX[7]="Erdbeeben|0.0015844"
    $InfoX[8]="Blitzeinschläge|231.48148"
    $InfoX[9]="Verkaufte Bibeln|0.7833"
    For $i=0 To 9
    $Temp=StringSplit($InfoX[$i],"|")
    $Info[$i][0]=$Temp[1]
    $Info[$i][1]=$Temp[2]
    Next
    $35Form1 = GUICreate("Heute - Unnützes Wissen", 500, 250)
    $35Label1 = GUICtrlCreateLabel("Heute", 8, 8, 38, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $35Label2 = GUICtrlCreateLabel("( Minuten)", 48, 8,150)
    For $i=0 To 9
    $35LabelTitle[$i] = GUICtrlCreateLabel($Info[$i][0], 0, 40+$i*20, 370,-1, $SS_RIGHT)
    $35Label[$i] = GUICtrlCreateLabel("-1", 380, 40+$i*20,150)
    Next
    GUISetState(@SW_SHOW)

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

    $u=18
    While 1
    Sleep(50)
    If $u=18 Then
    $SecTod=_DateDiff("s",@YEAR&"/"&@MON&"/"&@MDAY&" 00:00:00",_NowCalc())
    GUICtrlSetData($35Label2,"("&Round($SecTod/60,0)&" Minuten)")
    For $i=0 To 9
    GUICtrlSetData($35Label[$i],Round($Info[$i][1]*$SecTod,0))
    Next
    $u=0
    Else
    $u+=1
    EndIf

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

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd
    Case 36;Sekunden bis zum Tod-Berechner
    $36Form1 = GUICreate("Das Ende naht!", 290, 97)
    $36Label1 = GUICtrlCreateLabel("Bitte gib dein Geburtsdatum sowie die Geburtsuhrzeit ein:", 8, 8, 272, 17)
    $36Date1 = GUICtrlCreateDate("1994/01/01", 8, 32, 138, 21,$WS_TABSTOP)
    $36Input1 = GUICtrlCreateInput("12", 152, 32, 25, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    $36Label2 = GUICtrlCreateLabel(":", 184, 32, 7, 17)
    $36Input2 = GUICtrlCreateInput("00", 192, 32, 25, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    $36Button1 = GUICtrlCreateButton("OK", 168, 64, 115, 25, $BS_DEFPUSHBUTTON)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $36Button1
    $InputDate=StringSplit(GUICtrlRead($36Date1),".")
    $InputDate=$InputDate[3]&"/"&$InputDate[2]&"/"&$InputDate[1]
    $Lebenssekunden=2504411136-_DateDiff("s",$InputDate,_NowCalc())
    $ExtraText=""
    If _DateDiff("s",$InputDate,_NowCalc())/(60*60*24*365.25)>34.1 Then $ExtraText=@CRLF&@CRLF&"In Swasiland wärst du vermutlich schon tot :(."
    MsgBox(64,"Das Ende naht!","Du hast noch durchschnittlich ganze "&@CRLF&Round($Lebenssekunden)&" Sekunden"&@CRLF&"= "&Round($Lebenssekunden/(60*60))&" Stunden"&@CRLF&"= "&Round($Lebenssekunden/(60*60*24))&" Tage"&@CRLF&"= "&Round($Lebenssekunden/(60*60*24*365.25))&" Jahre"&@CRLF&"zu leben! (berrechnet mit durchschnittlicher Lebenserwartung in Dtl.)"&$ExtraText)
    EndSwitch
    WEnd

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

    Case 37;Infos zum Betriebssystem
    MsgBox(64,"Informationen zu deinem PC","Betriebssystem: "&@OSVersion&@CRLF&"Service Pack: "&@OSServicePack&@CRLF&"Sprachcode: "&@OSLang&@CRLF&"Computer-Name: "&@ComputerName)
    Case 38;Mausdistanz
    $38aForm1 = GUICreate("Mausdistanz", 209, 120)
    $38aLabel1 = GUICtrlCreateLabel("Bitte miss die Größe deines Monitors aus:", 8, 8, 197, 17)
    $38aLabel2 = GUICtrlCreateLabel("Breite (in cm):", 8, 32, 68, 17)
    $38aInput1 = GUICtrlCreateInput("", 80, 32, 121, 21,$ES_NUMBER)
    $38aLabel3 = GUICtrlCreateLabel("Höhe (in cm):", 8, 56, 67, 17)
    $38aInput2 = GUICtrlCreateInput("", 80, 56, 121, 21,$ES_NUMBER)
    $38aButton1 = GUICtrlCreateButton("OK", 120, 88, 83, 25,$BS_DEFPUSHBUTTON)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $38aButton1
    $DW=GUICtrlRead($38aInput1) ;37
    $DH=GUICtrlRead($38aInput2) ;25
    GUIDelete($38aForm1)
    ExitLoop
    EndSwitch
    WEnd

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

    $DpPw=$DW/@DesktopWidth
    $DpPh=$DH/@DesktopHeight

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

    $38Form1 = GUICreate("Mausdistanz", 301, 73)
    $38Label1 = GUICtrlCreateLabel("Dein Mauszeiger hat sich seit dem Öffnen dieses Fensters", 8, 8, 276, 17)
    $38Label2 = GUICtrlCreateLabel("0 m", 8, 24, 182, 20)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $38Label3 = GUICtrlCreateLabel("bewegt.", 8, 48, 42, 17)
    GUISetState(@SW_SHOW)

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

    $OldX=MouseGetPos(0)
    $OldY=MouseGetPos(1)
    $Dis=0

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

    $i=1
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    Sleep(50)
    If $i=10 Then ;Aktuallisierung jede halbe Sekunde
    $NewX=MouseGetPos(0)
    $NewY=MouseGetPos(1)

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

    $Dis+=Abs($OldX-$NewX)*$DpPw
    $Dis+=Abs($OldY-$NewY)*$DpPh

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

    GUICtrlSetData($38Label2,Round($Dis/100,3)&" m")

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

    $OldX=$NewX
    $OldY=$NewY

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

    $i=0
    EndIf
    $i+=1
    WEnd
    Case 39;Wann kennt man alle Überraschungen?
    $NuOfUe=42
    $Ins=0
    For $i=1 To $NuOfUe
    $Ins+=1/$i
    Next
    MsgBox(64,"Info","Bei der aktuellen Anzahl an Surprises musst du das Programm durchschnittlich "&Ceiling($Ins*$NuOfUe)&" Mal starten, bis du alle Überraschungen gesehen hast!")
    Case 40;Karte mit Favicons
    ShellExecute("http://nmap.org/favicon/")
    Case 41;drawastickman.com
    ShellExecute("http://www.drawastickman.com/")
    Case 42;Tracert
    While True
    FileDelete(@TempDir&"\S_Tracert.txt")
    $URL = InputBox("Internetadresse eingeben","Bitte gib eine Internetadresse ein:","google.de"," ","400","130")
    If @Error = 1 Then Exit
    ToolTip("Dieser Vorgang kann etwas länger dauern.",@DesktopWidth/2,@DesktopHeight/2,"Bitte warten",1,2)
    RunWait(@ComSpec&" /c tracert -w 100 "&$URL&" >> "&@TempDir&"\S_Tracert.txt", "", @SW_HIDE)
    $Tracert=FileRead(@TempDir&"\S_Tracert.txt")
    FileDelete(@TempDir&"\S_Tracert.txt")
    $ExtraText=""
    If StringInStr($Tracert,"der Anforderung") Then $ExtraText=@CRLF&@CRLF&"Leider gab es Probleme beim Ermitteln des kompletten Weges, probiere es einfach noch mal mit einer anderen URL. :("
    ToolTip("")
    MsgBox(64,"Der Weg durch das Internet zu "&$URL,"Hier siehst du, welche Route das Internet nimmt, um dich zu "&$URL&" zu bringen:"&@CRLF&@CRLF&StringStripCR($Tracert)&$ExtraText)
    $iMsgBoxAnswer = MsgBox(36,"Nochmal?","Nochmal mit einer anderen URL?")
    If $iMsgBoxAnswer = 7 Then Exit
    WEnd
    EndSwitch

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

    ;Reaktionstest mit Eingabe
    ;Maus eine gerade Line entlang bewegen

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

    Kill()
    Func Kill()
    Exit
    EndFunc

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

    Func _StringAddThousandsSep($sString, $sThousands = -1, $sDecimal = -1)
    Local $sResult = "" ; Force string
    Local $rKey = "HKCU\Control Panel\International"
    If $sDecimal = -1 Then $sDecimal = RegRead($rKey, "sDecimal")
    If $sThousands = -1 Then $sThousands = RegRead($rKey, "sThousand")
    ;~ Local $aNumber = StringRegExp($sString, "(\d+)\D?(\d*)", 1)
    Local $aNumber = StringRegExp($sString, "(\D?\d+)\D?(\d*)", 1) ; This one works for negatives.
    If UBound($aNumber) = 2 Then
    Local $sLeft = $aNumber[0]
    While StringLen($sLeft)
    $sResult = $sThousands & StringRight($sLeft, 3) & $sResult
    $sLeft = StringTrimRight($sLeft, 3)
    WEnd
    ;~ $sResult = StringTrimLeft($sResult, 1) ; Strip leading thousands separator
    $sResult = StringTrimLeft($sResult, StringLen($sThousands)) ; Strip leading thousands separator
    If $aNumber[1] <> "" Then $sResult &= $sDecimal & $aNumber[1]
    EndIf
    Return $sResult
    EndFunc ;==>_StringAddThousandsSep

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

    Func Klick()
    $Klicks+=1
    GUICtrlSetData($25Label3,$Klicks)
    EndFunc

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

    Func MonitorToggle($Off = 1)
    $opt = Opt("WinTitleMatchMode", 4)

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

    $WM_SYSCommand = 274
    $SC_MonitorPower = 61808
    $Power_Off = 2
    $Power_On = -1

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

    $HWND = WinGetHandle("classname=Progman")
    If $Off Then
    DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND, "int", $WM_SYSCommand, _
    "int", $SC_MonitorPower, "int", $Power_Off)
    Else
    DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND, "int", $WM_SYSCommand, _
    "int", $SC_MonitorPower, "int", $Power_On)
    EndIf
    Opt ("WinTitleMatchMode", $opt)
    EndFunc
    Func Draw($Zahl,$NumberNr)
    Switch $Zahl
    Case " "
    Set(1,$NumberNr,0)
    Set(2,$NumberNr,0)
    Set(3,$NumberNr,0)
    Set(4,$NumberNr,0)
    Set(5,$NumberNr,0)
    Set(6,$NumberNr,0)
    Set(7,$NumberNr,0)
    Set(8,$NumberNr,0)
    Set(9,$NumberNr,0)
    Case 0
    Set(1,$NumberNr,1)
    Set(2,$NumberNr,1)
    Set(3,$NumberNr,1)
    Set(4,$NumberNr,0)
    Set(5,$NumberNr,1)
    Set(6,$NumberNr,1)
    Set(7,$NumberNr,1)
    Set(8,$NumberNr,1)
    Set(9,$NumberNr,1)
    Case 1
    Set(1,$NumberNr,0)
    Set(2,$NumberNr,0)
    Set(3,$NumberNr,1)
    Set(4,$NumberNr,0)
    Set(5,$NumberNr,0)
    Set(6,$NumberNr,1)
    Set(7,$NumberNr,0)
    Set(8,$NumberNr,0)
    Set(9,$NumberNr,1)
    Case 2
    Set(1,$NumberNr,1)
    Set(2,$NumberNr,0)
    Set(3,$NumberNr,1)
    Set(4,$NumberNr,1)
    Set(5,$NumberNr,1)
    Set(6,$NumberNr,0)
    Set(7,$NumberNr,1)
    Set(8,$NumberNr,1)
    Set(9,$NumberNr,1)
    Case 3
    Set(1,$NumberNr,1)
    Set(2,$NumberNr,0)
    Set(3,$NumberNr,1)
    Set(4,$NumberNr,1)
    Set(5,$NumberNr,0)
    Set(6,$NumberNr,1)
    Set(7,$NumberNr,1)
    Set(8,$NumberNr,0)
    Set(9,$NumberNr,1)
    Case 4
    Set(1,$NumberNr,0)
    Set(2,$NumberNr,1)
    Set(3,$NumberNr,1)
    Set(4,$NumberNr,1)
    Set(5,$NumberNr,0)
    Set(6,$NumberNr,1)
    Set(7,$NumberNr,0)
    Set(8,$NumberNr,1)
    Set(9,$NumberNr,1)
    Case 5
    Set(1,$NumberNr,1)
    Set(2,$NumberNr,1)
    Set(3,$NumberNr,0)
    Set(4,$NumberNr,1)
    Set(5,$NumberNr,0)
    Set(6,$NumberNr,1)
    Set(7,$NumberNr,1)
    Set(8,$NumberNr,1)
    Set(9,$NumberNr,1)
    Case 6
    Set(1,$NumberNr,1)
    Set(2,$NumberNr,1)
    Set(3,$NumberNr,0)
    Set(4,$NumberNr,1)
    Set(5,$NumberNr,1)
    Set(6,$NumberNr,1)
    Set(7,$NumberNr,1)
    Set(8,$NumberNr,1)
    Set(9,$NumberNr,1)
    Case 7
    Set(1,$NumberNr,1)
    Set(2,$NumberNr,0)
    Set(3,$NumberNr,1)
    Set(4,$NumberNr,0)
    Set(5,$NumberNr,0)
    Set(6,$NumberNr,1)
    Set(7,$NumberNr,0)
    Set(8,$NumberNr,0)
    Set(9,$NumberNr,1)
    Case 8
    Set(1,$NumberNr,1)
    Set(2,$NumberNr,1)
    Set(3,$NumberNr,1)
    Set(4,$NumberNr,1)
    Set(5,$NumberNr,1)
    Set(6,$NumberNr,1)
    Set(7,$NumberNr,1)
    Set(8,$NumberNr,1)
    Set(9,$NumberNr,1)
    Case 9
    Set(1,$NumberNr,1)
    Set(2,$NumberNr,1)
    Set(3,$NumberNr,1)
    Set(4,$NumberNr,1)
    Set(5,$NumberNr,0)
    Set(6,$NumberNr,1)
    Set(7,$NumberNr,1)
    Set(8,$NumberNr,1)
    Set(9,$NumberNr,1)
    EndSwitch
    EndFunc
    Func Set($Pos,$NumberNr,$Full=1)
    If $Full=1 Then
    $Percent=100
    Else
    $Percent=0
    EndIf
    GUICtrlSetData($Progress[$Pos][$NumberNr],$Percent)
    EndFunc

    [/autoit]
  • Weil "Surprise!" jetzt über 100 User hat, habe ich ein Update veröffentlicht! Ich erhöhe damit hauptsächlich die Zahl an Überraschungen um 50%, von 42 auf 63. Wer jetzt denkt, dass die neuen Überraschungen ja nur noch von minderer Qualität sein können, weil alles Gute ja schon da war, liegt natürlich falsch ;). Ich finde die neuen Überraschungen sogar besser als die alten, sie waren auch deutlich aufwändiger. Einige von den neuen Dingen sind die, die mir von Usern vorgeschlagen wurden. Viele neue Sachen sind Dinge, bei denen man selber irgendwas machen kann, weil ich sowas interessanter finde.
    Außerdem habe ich bei ein paar alten Überraschungen Verbesserungen eingebaut.

    Das Update wird automatisch gestartet wenn ihr eure alte Surprise-Datei startet. Wenn ihr Surprise noch nicht gedownloadet habt, könnt ihr das auch unter dem alten Downloadlink downloaden.

    Feedback ist immernoch erwünscht :)