Delphi-PRAXiS
Seite 1 von 2  1 2      

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 Uhr.
Seite 1 von 2  1 2      

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