Ruhezustand und WakeUp mit C#


ratho

Mitglied
Ruhezustand und WakeUp mit C# - kernel32.dll import ?

Hallo,

ich würde meinen PC gerne mit einem C# Programm zeitgesteuert in den Ruhezustand versetzen und zeitgesteuert auch wieder starten.

Bitte um eure Hilfe - Danke!

LG
Thorsten
 
Zuletzt bearbeitet:

Christian Kusmanow

Erfahrenes Mitglied
Hallo Ratho!

Warum willst Du denn deinen Computer wieder aufwecken? Würde mich mal interessieren.
Zu dem ich auch noch nicht gehört habe, dass das mit nem Programm möglich ist.

Meines erachtens kann das nur das BIOS in folgenden Fällen:

Wenn Du ihn über Netzwerk ansprichst (WOL - wake on LAN) oder
ein USB-Gerat anschließt. Fast alle Mainboards lassen sich via Tastatur aufwecken.
Sofern Du das auch in allen drei Fällen in deinem BIOS eingestellt hast (Power Management).
Ein Bios Kompendium findest Du hier.

Ich hoffe trotzdem das jemand deine Frage noch besser beantworten kann weil ich auch selber wissen will ob das möglich ist.
 

ratho

Mitglied
Hallo,

also technisch ist es möglich über die Funktion RTC-Alarm vom Bios und dieser Alarm ist auch von Windows aus änderbar (es gibt komerzielle Programme die das können).

Eine Möglichkeit wäre auch den PC nur in den Ruhezustand zu bringen und ihn mittels des Taskplaners zu reaktivieren - aber wie kann ich einen Task per Programm erstellen :confused: :confused: :confused:

Zum Grund meiner Frage:
Ich will ein Programm schreiben das sich Fernsehdaten von einer Website holt und damit die Aufnahmesoftware versorgt. Die Aufnahmesoftware (Pinnacle PCTVSatCI Karte) funktioniert aber nur wenn der PC eingeschalten ist --> also muß mein Programm diese Funktion übernehmen.

Ich hoffe es kann mir jemand helfen!

LG
Thorsten
 

cyperdark

Grünschnabel
Die Lösung über einen Task wird nicht Funktionieren, da im Ruhezustand das Betriebssystem nicht läuft. Ich bin auch der Meinung das man das Problem nur über das Bios hinbekommen könnte bzw. eine Hardwarelösung dafür braucht.
 

ratho

Mitglied
Hallo,

also über den Taskmanager funktioniert's bei manueller Eingabe mit der Option "Computer zum Ausführen des Tasks reaktivieren" ich habe auch ein Beispiel gefunden

http://www.dotnet247.com/247reference/msgs/6/31614.aspx

funktioniert soweit nur hab ich ein Problem - mit den dokumentierten Parametern
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_scheduledjob.asp
kann man die Option "Computer zum Ausführen des Tasks reaktivieren" nicht übergeben.

Oder doch? Vielleicht hab ich ja auch was übersehen!
Bitte um Info wenn jemand den Parameter kennt - Danke!

lg
Thorsten

Für die BIOS Variante hab ich den CMOSTimer http://www.boraxsoft.de/ gefunden - aber noch nicht getestet!
 

ratho

Mitglied
Hallo,

ich glaube eine Funktion gefunden zu haben
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/setwaitabletimer.asp
Hier gibt es einen Parameter fResume der genau das machen dürfte.

Ich bekomme die kernel32.dll aber nicht in mein C# Programm.
Könnte mir da jemand helfen - ich versteh's einfach nicht :confused:
Es müsste irgendwie mit DllImport funktionieren - aber das mit den Übergabeparametern bekomme ich nicht hin (dafür sind meine C# Kenntnisse einfach zu gering :confused: )

Schon mal Danke für eure Hilfe!

LG
Thorsten
 

Christian Kusmanow

Erfahrenes Mitglied
Hallo ich bin es mal wieder!

Ich habe leider bisher kaum Zeit gefunden mich damit zu beschäfigen weil ich mein aktuelles Projekt in die Release-Phase bringen muss (TestPhase).
Ich hab mir aber schon ein bissel von den Links durchgelesen und bin auf dem ersten Blick der Meinung, das es zu schaffen ist.
Das wird aber auch nur herraustellen wenn es vollbracht ist. ;)

Ich melde mich wieder sobald ich weitergekommen bin.

MFG cosmo