Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Noch eine GUI für CMOSTimer

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
HermannDerUser
Gast





BeitragVerfasst am: Mo März 17, 2008 7:22 pm    Titel: Noch eine GUI für CMOSTimer Antworten mit Zitat

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





BeitragVerfasst am: Di März 18, 2008 1:26 pm    Titel: Antworten mit Zitat

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. Wink

Moderator AGermanUser: Das Veröffentlichen von denic-Informationen ist lt. deren Nutzungsbedingungen strengstens untersagt.
Nach oben
AGermanUser



Anmeldedatum: 25.10.2005
Beiträge: 169

BeitragVerfasst am: Di März 18, 2008 3:29 pm    Titel: Antworten mit Zitat

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. Wink
_________________
Gruß
AGermanUser a.k.a. AGU
Moderator
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BoBo¨
Gast





BeitragVerfasst am: Di März 18, 2008 6:31 pm    Titel: Antworten mit Zitat

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 ... Laughing
Nach oben
HermannDerUser
Gast





BeitragVerfasst am: Mo März 31, 2008 7:20 am    Titel: Antworten mit Zitat

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
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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