ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1137
1137
EMPFEHLEN
-
23.03.10 08:35 #1
- Registriert seit
- Nov 2007
- Beiträge
- 50
Hallo alle zusammen,
das Thema gab es schon ein paar mal hier im Forum aber nie mit einer Lösung die ich verwenden konnte.
Ich möchte mittels einer Applikation (geschrieben in C#) meinen Laptop mit WinXP in den Ruhezusand versetzten und diesen zu einer bestimmten Zeit wieder wecken.
In habe hier eine kleine DLL und eine Anleitung für VB gefunden und das ganze mal folgendermaßen impelementiert:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
class Program { [DllImport("PowrProf.dll")] public static extern bool SetSuspendState(bool Hibernate, bool ForceCritical, bool DisableWakeEvent); static void Main(string[] args) { int timer_day = DateTime.Now.Day; int timer_month = DateTime.Now.Month; int timer_year = DateTime.Now.Year; int timer_hour = DateTime.Now.Hour; int timer_minute = DateTime.Now.Minute+2; int timer_second = DateTime.Now.Second; Thread t = new Thread(new ThreadStart(tuwas)); t.Start(); //DateTime wakeuptime = new DateTime(timer_year, timer_month, timer_day, (timer_hour - (DateTime.Now.Hour - DateTime.UtcNow.Hour)), timer_minute, timer_second); DateTime wakeuptime = new DateTime(timer_year, timer_month, timer_day, timer_hour, timer_minute, timer_second); Console.WriteLine(String.Format("StartUp was set to {0}!", wakeuptime)); Wake.SetWaitForWakeupTime(wakeuptime); } public static void tuwas() { Console.WriteLine("Waiting 10 seconds..."); Thread.Sleep(10000); Console.WriteLine("Starting SetSuspendState ..."); SetSuspendState(true, true, false); } }
Getestet habe ich das ganze wie in dem Link beschrieben einmal mit der UTC-Zeit und einmal mit der UTC+1-Zeit.
Ruhezustand ist aktiviert und der PC fährt auch runter aber startet nicht wieder.
Hat jemand eine Idee wie es funktionieren kann?
Gruß
meinereiner
-
23.03.10 09:00 #2
Ich laß mir gerne etwas Neues beibringen (und hoffe, Jemand schreibt etwas zu der Frage), aber ich verstehe nicht, wie ein Programm, dass auf einem ausgeschalteten Rechner (nicht) läuft, diesen anmachen können soll. Es steht außer Frage, dass das BIOS so etwas kann, aber dies?! Ich bin verwirrt..
mfg chmee
p.s.: Ah, habe grad in den Link geschaut. Weckzeit im Bios einstellen und dann ausschalten, verstehe.. Hast Du den Link komplett durchgelesen? Ich denke, dass dort so ziemlich alle Fragen beantwortet werden.Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
Benutzt den DANKE-Knopf oder bewertet den Beitrag
"GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
-> Regexp <- -> php <- -> Javascript <-
-
Würde ich auch sagen. Wenn der PC aus ist, dann ist er aus. Und Ruhemodus == aus. Du könntest den StandBy-Modus anstatt Ruhemodus verwenden. Dann ließe sich der PC wohl reaktivieren.
EDIT: Hatte chmees p.s. nicht gelesen...
EDIT2: Habe mir den Link durchgelesen aber wurde nicht unbedingt daraus schlau, warum der obige Code nicht funktioniert. Einzige was mir auffällt: du verwendest keine UTC-Zeit
EDIT3: Ah du hast geschrieben du würdest UTC manuell eingeben...Hm
EDIT4: Auf der Seite steht geschrieben:
Vielleicht gilt es dann nicht für den Ruhezustand? Also wenn ich mir die MSDN zur verwendeten API SetWaitableTimer anschaue, dann steht daSub SetWaitForWakeupTime: Stellt eine UTC-Zeit ein, zu der der Rechner aus dem Stromsparmodus aufwacht.
Es wird also nur für den StandBy-Modus und nicht für den Ruhezustand funkionieren!fResume [in]: If this parameter is TRUE, restores a system in suspended power conservation mode when the timer state is set to signaled. [...]
EDIT5: Also der Aufruf von
in der Wake-Library scheint mir irgendwie fehlplatziert. MSDN sagt:Code vbnet:1
wh.WaitOne()
Ich würde das mal rausnehmen, es erscheint mir irgendwie sinnlos?! Vllt wird die ganze Anwendung und nicht nur der Thread blockiert? Ich werde daraus gerade nicht schlau.Blocks the current thread until the current System.Threading.WaitHandle receives a signal.Geändert von Shakie (23.03.10 um 12:03 Uhr)
hihi = -h²
-
23.03.10 18:13 #4
- Registriert seit
- Nov 2007
- Beiträge
- 50
Hallo,
Danke für eure Hilfe.
Ich habe noch ein bisschen experimentiert mit den Punkten die ihr hier aufgelistet hat.
Leider mit keinem Erfolg.
Ich werde mir erstmal eine kleine Software suchen, die die Funktion schon implementiert hat. Vielleicht ist das auch ein prinzipielles Problem meines BIOS oder Betriebssystems.
Gruß
meinereiner
Ähnliche Themen
-
Ruhezustand - PC wacht selbständig auf
Von C-H im Forum Microsoft WindowsAntworten: 11Letzter Beitrag: 14.08.10, 12:12 -
PC aus Ruhezustand wecken
Von coder2008 im Forum .NET Windows FormsAntworten: 1Letzter Beitrag: 06.11.09, 20:15 -
Shutdownhook, Ruhezustand, ...
Von cojack20 im Forum JavaAntworten: 1Letzter Beitrag: 24.12.07, 17:40 -
Ruhezustand und WakeUp mit C#
Von ratho im Forum .NET ArchivAntworten: 9Letzter Beitrag: 15.06.06, 17:07 -
Ruhezustand verlassen
Von Bulli69 im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 23.04.06, 22:15





Zitieren

Login





