 |
AutoHotkey Community Wir helfen uns gegenseitig aus der Patsche
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
HermannDerUser Gast
|
Verfasst am: Mo März 17, 2008 7:22 pm Titel: Noch eine GUI für CMOSTimer |
|
|
Nachdem meine erste Version http://de.autohotkey.com/forum/topic1370.html jetzt schon lange und fehlerfrei bei mir läuft und sich auch schon andere an diesem Thema versucht haben http://de.autohotkey.com/forum/topic1621.html möchte ich hier meine gerade erstandene Version vorstellen. In der GUI kann ausgewählt werden, wann ein Timer gesetzt werden soll (Zeitpunkt bzw. sofort) und welche Daten dann in das BIOS eingetragen werden sollen (nächster Aufweckzeitpunkt bzw. Wake up on RTC Alarm löschen)
| Code: | ;
; AutoHotkey Version: 1.0.47.05
; Language: Deutsch
; Platform: WinXP Home
; Author: HermannDerUser
; Date: 17.03.2008
; Script Function: erweiterte GUI um den CMOSTimer direkt oder über den Windows Sheduler zu setzen
; CMOSTimer (siehe http://www.boraxsoft.de/ )
#NoEnv
#NoTrayIcon
#SingleInstance,Force
#InstallKeybdHook
SetCapsLockState, AlwaysOff
SendMode Input
SetWorkingDir %A_ScriptDir%
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; aktuellen Benutzer und Passwort für den Scheduler eintragen
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zugang = /RU USER /RP PASSWORT
IfNotExist, %A_WorkingDir%\CMOSTimer.exe
{
MsgBox, 16, FEHLER, Die 'CMOSTimer.exe' befindet sich `nnicht im Programmverzeichnis.`n`nBitte überprüfen Sie die Installation.
gosub ButtonAbbruch(Esc)
}
Gosub MakeGUI
Return
MakeGUI:
Gui, Add, Text, x10 y10, Wann soll der Timer ausgeführt werden?
If not jetzt
{
Gui, Add, DateTime, x10 y30 w80 vTimerDate ShortDate
Gui, Add, DateTime, x100 y30 w70 vTimerTime, Time
Gui, Add, Checkbox, x180 y35 gChangeGUI vsofort, &Sofort
}
else
{
Gui, Add, Checkbox, x180 y35 gChangeGUI Checked1 vsofort, &Sofort
}
Gui, Add, Text, x10 y70, Um wieviel Uhr soll der PC wieder starten?
Gui, Add, DateTime, x10 y90 w90 vWakeup, Time
Gui, Add, Checkbox, x120 y95 vlöschen, Timer nur &löschen
Gui, Add, Text, x30 y125 cblue, ® M.Röhm
Gui, Add, Button, x10 y152 w100 h18, Abbruch (Esc)
Gui, Add, Button, x130 y130 w100 h40 Default, Fertig
Gui, show,, CMOSTimer GUI
Return
ChangeGUI:
GuiControlGet, sofort
if sofort
jetzt = 1
else
Jetzt = 0
Gui, Destroy
gosub MakeGUI
Return
ESC::gosub ButtonAbbruch(Esc)
ButtonFertig:
GuiControlGet, sofort
GuiControlGet, löschen
Gui, Submit, NoHide
FormatTime, SchDate, %TimerDate%, dd/MM/yyyy ; Datum und Uhrzeit für den Sheduler
FormatTime, SchTime, %TimerTime%, HH:mm:ss
FormatTime, CMOSTime, %wakeup%, HH:mm ; Uhrzeit für den CMOSTimer
StringReplace, wakeuptxt, CMOSTime, :, _, All ; Zeitformat wird für Tasknamen von hh:mm in hh_mm geändert
if löschen
{
If sofort
{
;Msgbox, Sofort den Timer löschen
Run, %A_WorkingDir%\CMOSTimer.exe /off
}
else
{
;MsgBox, Timer über Scheduler am %SchDate% um %SchTime% löschen
RunWait, %comspec% /c "%A_Temp%\SchTasks.exe >%A_Temp%\Scheduler.log /create /SC einmal /ST %SchTime% /SD %SchDate% /TN "CMOSTimer wird gelöscht" /TR "%A_WorkingDir%\CMOSTimer.exe /off" %Zugang%",, Hide
}
}
else
{
If sofort
{
;Msgbox, Sofort den Timer auf %CMOSTime% setzen
Datum := SubStr(A_Now, 1, 8) ; Datum einen Tag weiter stellen (für den Fall, dass Timerzeit vor aktuellen Uhrzeit liegt)
Datum += 1
FormatTime, CMOSDate, %Datum%, dd.MM.yyyy
Run, %A_WorkingDir%\CMOSTimer.exe /wakeup=%CMOSDate% %CMOSTime%
}
else
{
;Msgbox, Timer über Scheduler am %SchDate% um %SchTime% `nauf %CMOSTime% setzen
Datum := SubStr(TimerDate, 1, 8) ; Datum einen Tag weiter als Sheduler stellen
Datum += 1 ; (für den Fall, dass Timerzeit vor aktuellen Uhrzeit liegt)
FormatTime, CMOSDate, %Datum%, dd.MM.yyyy
RunWait, %comspec% /c "%A_Temp%\SchTasks.exe >%A_Temp%\Scheduler.log /create /SC einmal /ST %SchTime% /SD %SchDate% /TN "setze CMOSTimer auf %wakeuptxt%" /TR "%A_WorkingDir%\CMOSTimer.exe /wakeup=%CMOSDate% %CMOSTime%" %Zugang%",,Hide
}
}
FileReadLine, Ergebnis, %A_Temp%\Scheduler.log, 1
StringLeft, Ergebnis, Ergebnis, 11
Gui, Destroy
If Ergebnis = ERFOLGREICH
SoundBeep, 350, 70
else
msgbox, 16, CMOSTimer GUI, WARNUNG`n`nEs ist ein Fehler aufgetreten. Der`nTimer konnte nicht gesetzt werden.
ButtonAbbruch(Esc):
GuiClose:
FileDelete, %A_Temp%\Scheduler.log ; Müll beseitigen
ExitApp
return |
|
|
| Nach oben |
|
 |
BoBo¨ Gast
|
Verfasst am: Di März 18, 2008 1:26 pm Titel: |
|
|
Evtl macht es Sinn den Besitzer der Webseite/den Entwickler von CMOSTimer von deiner Arbeit zu informieren!?!!
Da er keine E-Mail-Option anbietet (und seltsamerweise auch kein Impressum), hier mal was www.denic.de dazu liefert.
*** denic Daten gelöscht ***
Btw. der Teilnehmer ist bei der Telefonauskunft erfragbar.
Moderator AGermanUser: Das Veröffentlichen von denic-Informationen ist lt. deren Nutzungsbedingungen strengstens untersagt. |
|
| Nach oben |
|
 |
AGermanUser
Anmeldedatum: 25.10.2005 Beiträge: 169
|
Verfasst am: Di März 18, 2008 3:29 pm Titel: |
|
|
Offtopic:
Nutzungsbedingungen der denic, die man bei jeder Abfrage bestätigt
| Zitat: | Die in der whois-Abfrage ersichtlichen Domaindaten sind rechtlich geschützt. Sie dürfen nur zum Zwecke der technischen oder administrativen Notwendigkeiten des Internetbetriebs oder zur Kontaktaufnahme mit dem Domaininhaber bei rechtlichen Problemen genutzt und ohne ausdrückliche schriftliche Erlaubnis der DENIC eG weder elektronisch noch in anderer Art gespeichert werden. Insbesondere die Nutzung zu Werbe- oder ähnlichen Zwecken ist ausdrücklich untersagt.
Durch das Betätigen des untenstehenden Buttons "Akzeptieren" versichern Sie, dass Ihrerseits ein berechtigtes Interesse vorliegt und Sie die ausgegebenen Daten nur zu diesen Zwecken nutzen werden. Ihnen ist bekannt, dass sich die DENIC eG vorbehält, bei Missachtung dieser Versicherung rechtliche Schritte einzuleiten und Sie von der Nutzung der whois-Abfrage auszuschließen. |
Die URL habe ich auch umgebogen, da sie auf denik.de verwies. Korrekt heißt es denic.de
Die falsche URL führte zu einem sehr schlüpfrigen Angebot.  _________________ Gruß
AGermanUser a.k.a. AGU
Moderator |
|
| Nach oben |
|
 |
BoBo¨ Gast
|
Verfasst am: Di März 18, 2008 6:31 pm Titel: |
|
|
| Zitat: | | oder zur Kontaktaufnahme mit dem Domaininhaber bei rechtlichen Problemen genutzt | Genau darum ging es. Auf der Seite ist kein Impressum zur Kontaktaufnahme angegeben. Der Anbieter ist also mitunter ein potentielles Abmahnopfer. Deshalb auch der Hinweis auf dasselbe. Anyway. Danke für den Hinweis.
So denik.(de) betreibt schlüpfrige Angeote, ts ts ts ...  |
|
| Nach oben |
|
 |
HermannDerUser Gast
|
Verfasst am: Mo März 31, 2008 7:20 am Titel: |
|
|
Hallo nochmal,
nachdem mir noch eine paar kleine Fehler aufgefallen sind, habe ich die GUI noch etwas schöner gestaltet und die Fehler beseitigt. Hier jetzt meine aktuelle Version:
| Code: | ;
; AutoHotkey Version: 1.0.47.05
; Language: Deutsch
; Platform: WinXP Home
; Author: HermannDerUser
; Date: 31.03.2008
; Script Function: erweiterte GUI um den CMOSTimer direkt oder über den
; Windows Sheduler zu setzen bzw. zu löschen
; CMOSTimer (siehe http://www.boraxsoft.de/ )
#NoEnv
#NoTrayIcon
#SingleInstance,Force
#InstallKeybdHook
SetCapsLockState, AlwaysOff
SendMode Input
SetWorkingDir %A_ScriptDir%
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; aktuellen Benutzer und Passwort für den Scheduler eintragen
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zugang = /RU USER /RP PASSWORT
IfNotExist, %A_WorkingDir%\CMOSTimer.exe
{
MsgBox, 16, FEHLER, Die 'CMOSTimer.exe' befindet sich `nnicht im Programmverzeichnis.`n`nBitte überprüfen Sie die Installation.
gosub ButtonAbbruch(Esc)
}
MakeGUI:
Gui, Add, GroupBox, x10 y10 w240 h55, Wann soll der Timer ausgeführt werden?
Gui, Add, DateTime, x20 y30 w80 vTimerDate ShortDate
Gui, Add, DateTime, x110 y30 w70 vTimerTime, HH:mm
Gui, Add, Checkbox, x190 y35 gDisableScheduler vsofort, Sofort
Gui, Add, GroupBox, x10 y70 w240 h60, Um wieviel Uhr soll der PC wieder starten?
Gui, Add, DateTime, x20 y95 w90 vWakeup, HH:mm
Gui, Add, Checkbox, x130 y90 gLöschen vlöschen, Timer nur löschen
Gui, Add, Checkbox, x130 y110 gshutdown vshutdown, PC nur ausschalten
Gui, Add, Text, x20 y140 cblue, © HermannDerUser
Gui, Add, Button, x20 y165 w100 h18, Abbruch (Esc)
Gui, Add, Button, x140 y145 w100 h40 Default, Fertig
Gui, show,, CMOSTimer GUI
Return
DisableScheduler: ; wenn "sofort" angehakt ist, werden die Datum und Uhrzeitfelder
GuiControlGet, sofort ; für den Scheduler inaktiv gesetzt
if sofort
{
GuiControl, Disable, TimerDate
GuiControl, Disable, TimerTime
}
else
{
GuiControl, Enable, TimerDate
GuiControl, Enable, TimerTime
}
Gui, Submit, nohide
Return
Löschen: ; wenn "Timer nur löschen" angehakt wird, wird
GuiControlGet, löschen ; "Rechner nur herunterfahren" abgeschaltet und Weckzeit inaktiv gesetzt
if löschen
{
GUICONTROL,, shutdown, 0
GuiControlGet, shutdown
GuiControl, Disable, Wakeup
}
else
{
GuiControl, Enable, Wakeup
}
Gui, Submit, nohide
Return
Shutdown: ; wenn "Rechner nur herunterfahren" angehakt wird, wird
GuiControlGet, shutdown ; "Timer nur löschen" abgeschaltet und Weckzeit inaktiv gesetzt
if shutdown
{
GUICONTROL,, löschen, 0
GuiControlGet, löschen
GuiControl, Disable, Wakeup
}
else
{
GuiControl, Enable, Wakeup
}
Gui, Submit, nohide
Return
ButtonFertig:
GuiControlGet, sofort
GuiControlGet, löschen
Gui, Submit
FormatTime, SchDate, %TimerDate%, dd/MM/yyyy ; Datum und Uhrzeit für den Sheduler
FormatTime, SchTime, %TimerTime%, HH:mm:00
FormatTime, CMOSTime, %wakeup%, HH:mm ; Uhrzeit für den CMOSTimer
StringReplace, wakeuptxt, CMOSTime, :, _, All ; Zeitformat wird für Tasknamen von hh:mm in hh_mm geändert
if löschen or shutdown
{
If sofort
{
;Msgbox, Sofort den Timer löschen oder herunterfahren
if löschen
Run, %A_WorkingDir%\CMOSTimer.exe /off
if shutdown
run, C:\WINDOWS\system32\shutdown.exe -s -t 00
}
else
{
;MsgBox, Timer über Scheduler am %SchDate% um %SchTime% löschen oder herunterfahren
if löschen
RunWait, %comspec% /c "SchTasks.exe >%A_Temp%\Scheduler.log /create /SC einmal /ST %SchTime% /SD %SchDate% /TN "CMOSTimer wird gelöscht" /TR "%A_WorkingDir%\CMOSTimer.exe /off" %Zugang%",, Hide
if shutdown
RunWait, %comspec% /c "SchTasks.exe >%A_Temp%\Scheduler.log /create /SC einmal /ST %SchTime% /SD %SchDate% /TN "Rechner wird heruntergefahren" /TR "C:\WINDOWS\system32\shutdown.exe -s -t 00" %Zugang%",, Hide
}
}
else
{
If sofort
{
;Msgbox, Sofort den Timer auf %CMOSTime% setzen
Datum := SubStr(A_Now, 1, 8) ; Datum einen Tag weiter stellen (für den Fall, dass Timerzeit vor aktuellen Uhrzeit liegt)
Datum += 1
FormatTime, CMOSDate, %Datum%, dd.MM.yyyy
Run, %A_WorkingDir%\CMOSTimer.exe /wakeup=%CMOSDate% %CMOSTime%
}
else
{
;Msgbox, Timer über Scheduler am %SchDate% um %SchTime% `nauf %CMOSTime% setzen
Datum := SubStr(TimerDate, 1, 8) ; Datum einen Tag weiter als Sheduler stellen
Datum += 1 ; (für den Fall, dass Timerzeit vor aktuellen Uhrzeit liegt)
FormatTime, CMOSDate, %Datum%, dd.MM.yyyy
RunWait, %comspec% /c "SchTasks.exe >%A_Temp%\Scheduler.log /create /SC einmal /ST %SchTime% /SD %SchDate% /TN "setze CMOSTimer auf %wakeuptxt%" /TR "%A_WorkingDir%\CMOSTimer.exe /wakeup=%CMOSDate% %CMOSTime%" %Zugang%",,Hide
}
}
if not sofort
{
FileReadLine, Ergebnis, %A_Temp%\Scheduler.log, 1
StringLeft, ErgebnisStatus, Ergebnis, 11
Gui, Destroy
If ErgebnisStatus = ERFOLGREICH
SoundBeep, 350, 70
else
msgbox, 16, CMOSTimer GUI, WARNUNG`n`nEs ist ein Fehler aufgetreten. Der Timer konnte nicht gesetzt werden.`n%Ergebnis%
}
ESC::gosub ButtonAbbruch(Esc) ; ESC beendet Programm
ButtonAbbruch(Esc):
GuiClose:
FileDelete, %A_Temp%\Scheduler.log ; Müll beseitigen
ExitApp
return |
Grüße
HermannDerUser |
|
| Nach oben |
|
 |
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|