Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows 2000 herunterfahren (https://www.delphipraxis.net/100258-windows-2000-herunterfahren.html)

xZise 25. Sep 2007 11:30


Windows 2000 herunterfahren
 
Was muss ich an den folgenden Code
Windows herunterfahren
ändern um auch Windows 2000 Computer herunterzufahren?
Weil er schließt vielleicht 1/2 Programme, aber dann macht er nichts weiter.

RavenIV 25. Sep 2007 12:01

Re: Windows 2000 herunterfahren
 
Um den Standard-Spruch mal wieder anzubringen:
Bemüh bitte die Suchfunktion des Forums. Dieses Thema wurde schon oft durchgekaut...

Luckie 25. Sep 2007 12:23

Re: Windows 2000 herunterfahren
 
Ob allerdings auch dieses Problem so oft durchgekaut wurde, weiß ich allerdings nicht.

@xZise: Was für Programme laufen denn noch? Eventuell sorgt ein Programm für den Abbruch des Vorganges, was unter Vista nicht mehr möglich ist.

xZise 25. Sep 2007 14:08

Re: Windows 2000 herunterfahren
 
Hi Luckie und Raven,
Zitat:

Zitat von Luckie
@xZise: Was für Programme laufen denn noch? Eventuell sorgt ein Programm für den Abbruch des Vorganges, was unter Vista nicht mehr möglich ist.

Uff ^^ So genau kann ich das leider nicht sagen :(
Besonders deshalb, weil der Computer in der Schule ist ;)

Allerdings würde ich sagen, dass es wohl kaum ein Programm ist. Oder funktioniert das bei dir (du hast doch ein Win2000 ?)

Zitat:

Zitat von RavenIV
Um den Standard-Spruch mal wieder anzubringen:
Bemüh bitte die Suchfunktion des Forums. Dieses Thema wurde schon oft durchgekaut...

NOPE: Hier im Forum suchenWindows 2000 herunterfahren
Und hättest du dir den Beitrag durchgelesen (was du wahrschlich nicht getan hast), dann hättest du gesehen, dass ich nicht einfach nur Code haben will, sondern mich damit schon auseinandergesetzt habe.

MfG
xZise

RavenIV 25. Sep 2007 14:15

Re: Windows 2000 herunterfahren
 
im MSDN findet sich dieser Code (allerdings in C geschrieben):
Code:
BOOL MySystemShutdown()
{
   HANDLE hToken;
   TOKEN_PRIVILEGES tkp;
 
   // Get a token for this process.
    if (!OpenProcessToken(GetCurrentProcess(),
        TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
      return( FALSE );
 
   // Get the LUID for the shutdown privilege.
    LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
        &tkp.Privileges[0].Luid);
 
   tkp.PrivilegeCount = 1; // one privilege to set  
   tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
 
   // Get the shutdown privilege for this process.
    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
        (PTOKEN_PRIVILEGES)NULL, 0);
 
   if (GetLastError() != ERROR_SUCCESS)
      return FALSE;
 
   // Shut down the system and force all applications to close.
    if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE,
               SHTDN_REASON_MAJOR_OPERATINGSYSTEM |
               SHTDN_REASON_MINOR_UPGRADE |
               SHTDN_REASON_FLAG_PLANNED))
      return FALSE;
   return TRUE;
}

Dezipaitor 25. Sep 2007 21:31

Re: Windows 2000 herunterfahren
 
Zitat:

Zitat von xZise
Was muss ich an den folgenden Code
Windows herunterfahren
ändern um auch Windows 2000 Computer herunterzufahren?
Weil er schließt vielleicht 1/2 Programme, aber dann macht er nichts weiter.

Wenn er bereits Programme schließt, dann funktioniert der Code.
Unter Windows2000 ist der Shutdown jedoch nicht so gut, dass es schnell geht. Ich glaub man muss ne Weile warten bis Windows Programme wirklich beendet.

xZise 26. Sep 2007 11:51

Re: Windows 2000 herunterfahren
 
Hi Dezipaitor,
Zitat:

Zitat von xZise
Uff ^^ So genau kann ich das leider nicht sagen :(
Besonders deshalb, weil der Computer in der Schule ist ;)[...]

Ich hoffe mal, dass ihr noch warten könnt :)

MfG
xZise

Dezipaitor 26. Sep 2007 12:55

Re: Windows 2000 herunterfahren
 
:warn: Der Nickname ist Dezipaitor. :warn: :thumb:

xZise 26. Nov 2007 14:07

Re: Windows 2000 herunterfahren
 
So :)
Ich weiß ist lange her, aber da ich mich wieder intensiver mit dem Thema beschäftigen muss/möchte/will ^^,
habe ich das mal getestet:
Entweder ich bin zu ungeduldig, oder es funktioniert erst, nachdem man das 2x ausgeführt hat.
Wobei das Intervall vielleicht 10 Sekunden war :)
Ich werde es nochmal genauer angucken ^^

MfG
xZise

lbccaleb 26. Nov 2007 19:22

Re: Windows 2000 herunterfahren
 
Zitat:

Zitat von Dezipaitor
Zitat:

Zitat von xZise
Was muss ich an den folgenden Code
Windows herunterfahren
ändern um auch Windows 2000 Computer herunterzufahren?
Weil er schließt vielleicht 1/2 Programme, aber dann macht er nichts weiter.

Wenn er bereits Programme schließt, dann funktioniert der Code.
Unter Windows2000 ist der Shutdown jedoch nicht so gut, dass es schnell geht. Ich glaub man muss ne Weile warten bis Windows Programme wirklich beendet.

richtig, es gibt in der registry 2 einträge, wo man win2000 sagen kann, wie lange er brauch um ein programm wirklich abzuschiessen....


dieser fall würde schon eintreten wenn nur alleine in dem programm das onexit abgefangen wird für zb ne messagebox "möchten sie das programm wirklich...." blabla
dann versucht er es halt laut der nagabe "normal" zu beenden geht das nicht (weil die box immer noch auf ne eingabe wartet) schiesst er nach der 2 zeit das programm ab, das kann man verkürzen und dadurch sogar die ladezeiten beim beenden deutlisch verbessern, natürlich hat das auch wieder nachteile, es besteht ein grössere gefahr auf datenverlust bei allerart programmen was nicht beim beenden gespeichert ist...

mfg

xZise 29. Nov 2007 17:09

Re: Windows 2000 herunterfahren
 
So!
Wenn ich das von meinem Dienst aus ausführe nützt es nichts :(

So wie er oben steht funktioniert es nicht.
Es gibt war eine "shutdown.exe" in der Schule im Umlauf, aber ich hätte lieber selber die Kontrolle darüber!
Was müsste ich ändern?

xZise 16. Apr 2008 07:28

Re: Windows 2000 herunterfahren
 
Also jetzt scheint es, warum auch immer, zu funktionieren.
Das Problem dabei ist, dass er nicht ganz herunterfahrt.
Sondern nur soweit, dass man einmal ausschalten muss.

MfG
xZise

Luckie 16. Apr 2008 08:12

Re: Windows 2000 herunterfahren
 
Jupp. Hatte ich auch mit meinem RemoteShutdown damals auf Windows2000. Auf einer Nachfrage hier im Forum, wurde mir geantwortet, dass das bei Windows2000 nun mal so ist. Ob es ein Bug ist, kann jeder für sich entscheiden.

RWarnecke 16. Apr 2008 08:37

Re: Windows 2000 herunterfahren
 
Hallo,

bei den Schweizern habe ich den folgenden Tipp gefunden. Habe damit bis jetzt gute Erfahrungen gemacht. Vielleicht hilft es Dir ja weiter.

Luckie 16. Apr 2008 08:47

Re: Windows 2000 herunterfahren
 
Das ist auch nichts anderes als die Standardprozedur für NT basierende System zum Runterfahren.

xZise 16. Apr 2008 21:24

Re: Windows 2000 herunterfahren
 
:mrgreen:

Aber es funktioniert hin und wieder, komischerweise ?!

MfG
xZise

Looking4Clues 16. Apr 2008 21:48

Re: Windows 2000 herunterfahren
 
Mein olles liebes Windows 2000 mit SP4 konnte sich Herunterfahren und den PC auch ausschalten.

Bis zu einem nVidia-GraKa-Treiberupdate :-(

mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz