Da ich in letzter Zeit immer öfter auf den 'Snooze' Button meines Weckers drücke und somit des Öfteren zu spät aufstehe, dachte ich mir gestern Abend : ' Mein Computer soll mich wecken!'
Das ist dabei rausgekommen:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <windowsconstants.au3>
#include <Sound.au3>
#Include <File.au3>
#Include <Array.au3>
GUICreate('Guten Morgen',220,35,Default,Default,Default, $WS_EX_TOPMOST) ; Anwendungsfenster
$term_btn = GUICtrlCreateButton('Ich stehe jetzt auf!',10,5,200) ; Schließen_Btn
GUISetBkColor(0xA5A79C) ; Hintergrundfarbe
GUISetState() ; Fenster anzeigen
$homepage = IniRead(@ScriptDir & "\Option.ini", "Firefox", 'Startseite', "") ; Startseite
$pfad = @ScriptDir & "\Sounds" ; Pfad zum Ornder
$lautst = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Maximal', "") ; Lautstärke zum aufstehen
$lautnorm = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Normal', "") ; Grundeinstellung
$ms = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Regelgeschwindigkeit', "") ; Regelgeschwindigkeit
dim $FileList =_FileListToArray($pfad) ; Array
dim $songlist =_FileListToArray($pfad) ; Songliste
dim $song,$sound,$x ; Sound Variable, Index
Browser_starten() ; Startseite öffnen
Auflisten() ; Ornerinhalt auflisten
Filtern () ; Mp3 Dateien rausfiltern
While 1 ; Main
$msg = GUIGetMsg()
Select
case $msg = $term_btn ; schließen
terminate()
Case $msg = $GUI_EVENT_CLOSE ; schließen
terminate()
EndSelect
WEnd
func Auflisten() ; Ordnerinhalt auflisten
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]If @Error=1 Then
MsgBox (0,"","Ordner nicht gefunden.")
Exit
EndIf
If @Error=4 Then
MsgBox (0,"","Keine Mp3 Datei gefunden.")
Exit
EndIf
EndFunc
func Filtern() ; Mp3 Dateien rausfiltern
[/autoit] [autoit][/autoit] [autoit]$x = 1 ; Index des Arrays
[/autoit] [autoit][/autoit] [autoit]for $i = 1 to $FileList[0] step 1
[/autoit] [autoit][/autoit] [autoit]$split = StringSplit($FileList[$i],'') ; Dateiname wird gesplittet
$j = $split[0] ; letzte Position im Array
if $split[$j] = 3 Then
$songlist[$x] = $FileList[$i] ; Mp3 Datei in Songliste eintragen
$x = $x + 1
EndIf
next
[/autoit] [autoit][/autoit] [autoit]Titel_abspielen()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func Titel_abspielen() ; Titel abspielen
[/autoit] [autoit][/autoit] [autoit]$j = Random(1,$x,1) ; Zufall_Index
for $i = 1 to $x step 1 ; Titel generieren
if $j = $i Then ; Titel generieren
$song = $songlist[$j]
ExitLoop
EndIf
Next
[/autoit] [autoit][/autoit] [autoit]$sound = _SoundOpen($pfad&'\'&$song) ; Datei öffnen
SoundSetWaveVolume(0) ; Lautstärke auf 0 setzen
_SoundPlay($sound) ; Titel abspielen
TrayTip('Guten Morgen Sound:',$song,10) ; Anzeigen
Lautstaerke_erhoehen() ; Lautstärke erhöhen
EndFunc
[/autoit] [autoit][/autoit] [autoit]Func Lautstaerke_erhoehen() ; Lautstärke erhöhen
[/autoit] [autoit][/autoit] [autoit]for $i = 1 to $lautst step 1
SoundSetWaveVolume($i)
sleep($ms)
next
EndFunc
[/autoit] [autoit][/autoit] [autoit]Func Browser_starten() ; Startseite öffnen
ShellExecute('firefox.exe', $homepage)
EndFunc
Func Terminate() ; Programm schließen
[/autoit] [autoit][/autoit] [autoit]for $i = $lautst to 0 step -1
SoundSetWaveVolume($i)
sleep(100)
next
_SoundStop($sound) ; Sound schließen
SoundSetWaveVolume($lautnorm) ; Grundeinstellung wiederherstellen
Exit
EndFunc
Man muss nur ein paar Mp3-Dateien in den 'Sounds'-Ordner kopieren und jeden Morgen wird man dann mit einem zufälligen Lied aus diesem Ordner geweckt.
Dabei kann man einstellen, wie 'schnell' man geweckt werden möchte.
Da ich morgens gerne auf den neuesten Stand gebracht werden möchte, wird außerdem eine Homepage deiner Wahl geöffnet.
Einstellungen kann man dann unter Optionen ändern:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
GUICreate('Optionen',220,260) ; Anwendungsfenster
GUISetState()
$homepage = IniRead(@ScriptDir & "\Option.ini", "Firefox", 'Startseite', "") ; Startseite
$lautst = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Maximal', "") ; Lautstärke zum aufstehen
$lautnorm = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Normal', "") ; Grundeinstellung
$ms = IniRead(@ScriptDir & "\Option.ini", "Lautstaerke", 'Regelgeschwindigkeit', "") ; Regelgeschwindigkeit
$save_btn = GUICtrlCreateButton("Speichern",10,220,200) ; Speichern_btn
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateLabel('Lautsärke: ',10,60,200,20)
$vol = GUICtrlCreateSlider(10, 80, 200, 20)
GUICtrlSetLimit(-1, 100, 0) ; Lautstärke regeln
$vol_lab = GUICtrlCreateLabel('',65,60,200,20)
GUICtrlSetData($vol,$lautst)
GUICtrlCreateLabel('Standard Lautstärke: ',10,110,200,20)
$vol_ges = GUICtrlCreateSlider(10, 130, 200, 20)
GUICtrlSetLimit(-1, 100, 0) ; Standard Lautstärke
$ges_lab = GUICtrlCreateLabel('',115,110,200,20)
GUICtrlSetData($vol_ges,$lautnorm)
GUICtrlCreateLabel('Regelgeschwindigkeit: ',10,160,200,20) ; Regelgeschwindigkeit
$regel = GUICtrlCreateSlider(10, 180, 200, 20)
GUICtrlSetLimit(-1, 5000, 0)
$reg_lab = GUICtrlCreateLabel('',125,160,200,20)
GUICtrlSetData($regel,$ms)
GUICtrlCreateLabel('Startseite: ',10,10,200,20)
$input = GUICtrlCreateInput($homepage,10,30,200)
While 1
[/autoit] [autoit][/autoit] [autoit]GUICtrlSetData($ges_lab, GUICtrlRead($vol_ges)) ;Aktualisieren
GUICtrlSetData($vol_lab, GUICtrlRead($vol))
GUICtrlSetData($reg_lab, GUICtrlRead($regel))
$msg = GUIGetMsg()
[/autoit] [autoit][/autoit] [autoit]Select
[/autoit] [autoit][/autoit] [autoit]case $msg = $save_btn ; speichern und schließen
save()
case $msg = $GUI_EVENT_CLOSE ; schließen
Exit
EndSelect
[/autoit] [autoit][/autoit] [autoit]Sleep(50)
[/autoit] [autoit][/autoit] [autoit]Wend
[/autoit] [autoit][/autoit] [autoit]Func save()
[/autoit] [autoit][/autoit] [autoit]IniWrite(@ScriptDir & "\Option.ini", "Firefox", 'Startseite', GUICtrlRead($input)) ; Startseite speichern
IniWrite(@ScriptDir & "\Option.ini", "Lautstaerke", 'Maximal', GUICtrlRead($vol)) ; Lautstärke zum aufstehen speichern
IniWrite(@ScriptDir & "\Option.ini", "Lautstaerke", 'Normal', GUICtrlRead($vol_ges)) ; Standardlautsrärke speichern
IniWrite(@ScriptDir & "\Option.ini", "Lautstaerke", 'Regelgeschwindigkeit', GUICtrlRead($regel)) ; Regelgeschwindigkeitspeichern
Exit
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit]
PS: Computer muss sich im StandBy Modus befinden!
Unter Systemprogramme>>Geplante Tasks ... sollte die Exe-Datei mit gewünschter 'Weckzeit' ausgeführt werden.
Dabei: 'Computer zum Ausführen des Tasks reaktivieren' anklicken
Vielleicht hat jemand dafür Verwendung:
autoit.de/wcf/attachment/9657/
Ich zumindest wurde heute Morgen angenehm geweckt