Car-PC.info

Tools - Ereignis nach Ruhezustand für XP

cg-systems - Fr 19 Jan, 2007 08:50
Titel: Ereignis nach Ruhezustand für XP
Hi Leute!

Da es mir keine Ruhe lies habe ich mal gegrübelt. Und während ich gegrübelt habe hatte mein Kollege eine gute Idee.

Das Prinzip ist eigentlich einfach:
Das Tool schreibt in einem einstellbaren Interval (Sekunden) die Systemzeit in eine ini-Datei.
Alle 10 Sekunden (als Beispiel) wird die aktuelle systemzeit mit der Zeit der ini-Datei verglichen. sind mehr Sekunden vergangen als der eingestellte Interval so war der Rechner im Ruhezustand.
Das ganze funktioniert bei mir echt gut. Derzeit habe ich es so gemacht das ein Programm ausgeführt wird, wenn der PC aus dem Ruhezustand aufgeweckt wurde.
Falls ihr da noch bessere Ideen habt oder wißt, wie man dem Com Port Systemweit neu starten könnte wäre hier sicherlich ncoh Verbesserungspotenzial.

Mein Vorteil ist, das meine CarPC Software in VB6 geschrieben ist. Ebenso mein "WakUp-Tool". Als Ereignis öffne ich in meinem Prog dann nur den Com-Port der GPS Maus neu. Funktioniert einwandfrei. Es dauert nur ca. 5 Sekunden bis die Maus wieder funktioniert, aber besser als ein kompletter Neustart.

Also, sehr empfehlen zum probieren kann ich das Tool all jenen die ihre Software in VB6 haben und sich das erweitern wollen.
Vielleicht will es auch jemand in cPOS hinzufügen.

Wenn ihr daran Interesse habt werde ich es selbstverständlich zum Download bereitstellen.
Ich geben Code und exe her, je nach dem was euch hilft.
Und wer nur an der exe interessiert ist und Verbesserungsvorschläge hat, nur her damit.


Chris
AKInSIDE - Fr 19 Jan, 2007 12:21
Titel:
Es gibt schon ein tolles Programm welches vor und nach dem Standby oder Ruhezustand ein Program, Script oder sonst was starten kann.

Einfach mal bei googel nach HibernateTrigger suchen. Ist klein und simpel und funktioniert bisher absolut zuverlässig.

Mit dem ComPort ist natürlich noch etwas spezieller, das müßte man dann wieder über einen script lösen. Aber für einfach aufgaben ist das echt Prima.
erichabg - Mo 26 Feb, 2007 15:22
Titel:
Das in in VB6 doch mit dem sysinfo.ocx viel einfacher!

Einfach das Sysinfo.ocx in das projekt einbinden und dessen TimeChanged-Prozedur verwenden!

Beim Runterfahren in den Standby wird die PowerSuspend-Prozedur des OCX aufgerufen. Hier kann man sich z.B. einen Merker setzen (und/oder sonstige Aktionen veranlassen.)

Das Ganze sieht dann so aus:

Global Suspend as boolean

Private Sub SysInfo1_PowerSuspend()
Suspend = true
' Sonstiges was man vor dem Suspend noch so alles tun möchte
End Sub


Private Sub SysInfo1_TimeChanged()
if Suspend=true then
messagebox "Jo, wir war n im Suspend"
Suspend=false
' Sonstiges was man noch so nach dem Aufwachen machen möchte...
else
messagebox "No, do hat nur jemand die Uhr verstellt"
endif
end Sub


Grüße
Erich
PS:
Wenn ich mich recht erinnere, dann wird dieses OCX nicht standardmäßig installiert, sondern befindet sich auf der Installations-CD zum händischen nachinstallieren.

PPS:
Die Sysinfo.ocx Prozedure "PowerResume" wird leider nie aufgerufen, auch nicht beim Resume, wie man nach dem Namen vermuten könnte. Ist wohl ein Bug der OCX. Eventuell wird diese deshalb von MS nicht promotet.
philipp_c - Mo 26 Feb, 2007 18:57
Titel:
Wenn du ihn selber in Hibernate mit deiner sw schickst, weißt du doch eh wann er wieder aufwacht. Der Teil der Funktion der hinter dem Hibernate steht wird doch eh erst nach dem aufwachen ausgeführt. So mache ich das in meiner CarPC Software auch. Und das ist dann verzögerungsfrei und nicht im schlimmsten Fall erst 10s später.

Gruß Philipp
erichabg - Di 27 Feb, 2007 07:28
Titel:
philipp_c hat folgendes geschrieben:
Wenn du ihn selber in Hibernate mit deiner sw schickst, weißt du doch eh wann er wieder aufwacht. Der Teil der Funktion der hinter dem Hibernate steht wird doch eh erst nach dem aufwachen ausgeführt. So mache ich das in meiner CarPC Software auch. Und das ist dann verzögerungsfrei und nicht im schlimmsten Fall erst 10s später.
..


Ist aber nicht zwangsläufig, daß nur Deine SW den Hibernate auslöst.
Bei mir wird z.B. der Powerbutton gedrückt, wenn ich den Zündschlüssel ziehe. Da der Powerbutton auf "Ruhezustand" eingestellt ist, fährt das System dann runter ohne dass das Programm dies selbst veranläßt.

Grüße
Erich
philipp_c - Di 27 Feb, 2007 08:27
Titel:
Ja ok, wenn du den PWR Button drücken lässt stimmt. Hmm, machen ja viele hatte ich nicht bedacht.
Bei mir fährt er immer selber den PC in Hibernate.

Gruß Philipp
Alle Zeiten sind GMT + 1 Stunde
Powered by phpBB2 Plus and Kostenloses Forum based on phpBB