AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Windows herunterfahren ExitWin, und was ist mit VISTA?

Windows herunterfahren ExitWin, und was ist mit VISTA?

Ein Thema von DelphiPeter · begonnen am 19. Okt 2008 · letzter Beitrag vom 23. Okt 2008
Antwort Antwort
DelphiPeter

Registriert seit: 21. Dez 2007
Ort: Iserlohn
198 Beiträge
 
Delphi 2010 Professional
 
#1

Windows herunterfahren ExitWin, und was ist mit VISTA?

  Alt 19. Okt 2008, 18:13
http://www.delphipraxis.net/internal...herunterfahren

Ich benutze diesen Tip um mein Windows herunterzufahren aber mit Vista geht das nicht, weiß jemand warum?

Peter
Peter Majewski
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Windows herunterfahren ExitWin, und was ist mit VISTA?

  Alt 19. Okt 2008, 18:24
Benutzt du auch den Code aus dem zweiten Beitrag?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
DelphiPeter

Registriert seit: 21. Dez 2007
Ort: Iserlohn
198 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Windows herunterfahren ExitWin, und was ist mit VISTA?

  Alt 19. Okt 2008, 18:59
Ja, funktioniert nur leider nicht
Peter Majewski
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Windows herunterfahren ExitWin, und was ist mit VISTA?

  Alt 19. Okt 2008, 19:49
Zitat von DelphiPeter:
Ja, funktioniert nur leider nicht
Und was sagt GetLastError nach dem Aufruf?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DelphiPeter

Registriert seit: 21. Dez 2007
Ort: Iserlohn
198 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Windows herunterfahren ExitWin, und was ist mit VISTA?

  Alt 23. Okt 2008, 17:59
Wie zeige ich den Fehler an mit GetLastError? Habe das noch nie benutzt?
Peter Majewski
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Windows herunterfahren ExitWin, und was ist mit VISTA?

  Alt 23. Okt 2008, 20:53
Zitat von DelphiPeter:
Wie zeige ich den Fehler an mit GetLastError? Habe das noch nie benutzt?
Etwas Eigeninitiative bitte. Eine suche im Forum nach GetLasterror sollte dir genug Beispiele geben, wie man GetLastError verwendet. Oder man guckt mal in der Hilfe, dem Windows SDK, nach.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#7

Re: Windows herunterfahren ExitWin, und was ist mit VISTA?

  Alt 23. Okt 2008, 21:00
Hi,

hiermit klappt das auch mit Vista (auch 64Bit):
Delphi-Quellcode:
function TFrmMain.MyExitWindows(RebootParam: Longword): Boolean;
var
  TTokenHd: THandle;
  TTokenPvg: TTokenPrivileges;
  cbtpPrevious: DWORD;
  rTTokenPvg: TTokenPrivileges;
  pcbtpPreviousRequired: DWORD;
  tpResult: Boolean;
const
  SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
begin
  if Win32Platform = VER_PLATFORM_WIN32_NT then
  begin
    tpResult := OpenProcessToken(GetCurrentProcess(),
      TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,
      TTokenHd);
    if tpResult then
    begin
      tpResult := LookupPrivilegeValue(nil,
                                       SE_SHUTDOWN_NAME,
                                       TTokenPvg.Privileges[0].Luid);
      TTokenPvg.PrivilegeCount := 1;
      TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
      cbtpPrevious := SizeOf(rTTokenPvg);
      pcbtpPreviousRequired := 0;
      if tpResult then
        Windows.AdjustTokenPrivileges(TTokenHd,
                                      False,
                                      TTokenPvg,
                                      cbtpPrevious,
                                      rTTokenPvg,
                                      pcbtpPreviousRequired);
    end;
  end;
  Result := ExitWindowsEx(RebootParam, 0);
end;
Aufruf:

Delphi-Quellcode:
procedure TFrmMain.Button2Click(Sender: TObject);
begin
  MyExitWindows(EWX_POWEROFF or EWX_FORCE);
end;
Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Windows herunterfahren ExitWin, und was ist mit VISTA?

  Alt 23. Okt 2008, 21:24
Genau der Code ist auch oben schon verlinkt worden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr.
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