PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : StandBy Modus ?


Format C:
04.06.2002, 10:42
moin

Wie kann ich den Rechner in den StandBy Modus versetzten ?
Also mit ExitWindowsEx(EWX_SHUTDOWN, 0); geht es nicht, da fährt der Rechner ganz runter.

Ich habe mal SoftICE benutzt und als BPX EXITWINDOWSEX angegeben. Dann hab ich in den StandBy Mod geschaltet, jedoch hat SoftICE nicht unterbrochen, d.h. Windows schaltet irigendwie anders in den StandBy Modus, ohne ExitWindowsEx. Aber wie ?

MfG


Patrik Graf
05.06.2002, 00:11
Ich bin mir nicht ganz sicher, aber ich denke das du hier (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/power/power_3v6t.asp) alles finden wirst was du dazu wissen musst :D

Hoffe das hilft dir weiter... :D :D

PS: und Lösung schön hier rein posten... :)

Format C:
05.06.2002, 07:10
Na dann mal rein in den StandBy :D

-----> SetSystemPowerState(0, 0);

Felix Kaiser
05.06.2002, 12:28
Hätte ich mal in der SDK gesucht nach Power, hätt ichs auch gefunden, aber: Laut dieser funzt der Befehl nicht auf WindowsNT Platformen. Sondern nur in Win9x (bzw. dann auch WinME) und laut MSDN dann ab Win2k auf jeder Windows Platform.

Jedoch scheint man hier auf NT5+ Platformen nicht wie bei ExitWindows(Ex) Root-Privilegien zu benötigen, um den Befehl auszuführen ...

Format C:
05.06.2002, 13:05
Jo......auf WIN9X gehts ganz gut. Aber auf W2K geht es nicht, trotz Root-Privilegien.

...mal sehen woran es liegt :(

Felix Kaiser
06.06.2002, 00:11
Bei Win2k liegts nicht daran, ob du das Programm eingeloggt als Administrator startest, das Programm muss sich trotzdem erst administrative Privilegien holen, gab hier aber irgendwo schon einen Beitrag, der sich aber auf ExitWindows(Ex) bezog, musst hier im Forum bzw. in den anderen Foren mal suchen.

Format C:
06.06.2002, 00:17
ich weis............du meinst das hier..........geht aber trotzdem noch nicht....:o
Ich arbeite gerade drann...

(Auszug)

OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);

LookupPrivilegeValue("", SE_SHUTDOWN_NAME, &TokenPriv.Privileges[0].Luid);

TokenPriv.PrivilegeCount = 1;
TokenPriv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(hToken, 0, &TokenPriv, sizeof(tpvDummy), &tpvDummy, &dDummy);

Format C:
06.06.2002, 02:19
moin


So gehts:

Die Priviegien setzten (siehe oben)


SetSystemPowerState(1, 0);



noch was :

Wie kann ich jetzt den XP Rechner in den Wartezustand versetzen ?

Mimo
07.06.2002, 15:30
Original geschrieben von Format C:
Jo......auf WIN9X gehts ganz gut. Aber auf W2K geht es nicht, trotz Root-Privilegien.

...mal sehe0n woran es liegt :(

Dabei fällt mir ein Problem mit ExitWindows ein... Bei Win2K ist noch ein Fehler, der mit einem Servicepack behoben wird (ich weiss aber jetzt nicht, welches SP).

Kann ja sein, dass das mit dem StandBy auch erst mit einem Servicepack funzt.

Format C:
07.06.2002, 15:57
nöö . liegt nicht am ServicePack, geht auch ohne


So wird ein XP PC in den StandBy oder Ruhezustand versetzt:

Privilegien setzten

Ruhezustand:
SetSystemPowerState(0, 0);


StandBy:
SetSystemPowerState(1, 0);


Es ging bei mir nicht weil ich es auf einen Uralten Recher getestet habe der kein StandBy oder Ruhezustand unterstützt.