Einzelnen Beitrag anzeigen

Marco Steinebach

Registriert seit: 4. Aug 2006
491 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: windows herunterfahren zusammengefaßt

  Alt 27. Jan 2008, 12:28
Hallo,
Zitat von MrKnogge:
Gibt es "EWX_FORCEIFHUNG" nur für Windows2000 oder ab Windows2000?
nein, , ab Windows 2000.

Also hier die zweite Version:
Code:
procedure MyExitWindows (E: TExit; force: boolean);
var
  vi: TOSVersionInfo;
  flag: integer;
begin
  if e = EW_Garnicht then exit;
  flag := 0;
  vi.dwOSVersionInfoSize:=SizeOf(vi);
  GetVersionEx (vi);
  if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then
    GetShutdownPrivileges;
    // die brauchen wir nur, wenn's mindestens Windows NT ist
  if Force then
  begin
    if (vi.dwPlatformId = VER_PLATFORM_WIN32_NT) and
       (vi.dwMajorVersion >=5) then
      flag := EWX_FORCEIFHUNG
      // geht ab Windows 2000
    else // also entweder NT oder gar windows 95/98/ME
      flag := EWX_FORCE;
  end;
  if E = EW_herunterfahren then
    ExitWindowsEx(EWX_ShutDown or flag, 0);
  if E = EW_Ruhezustand then
    SetSystemPowerState(false, Force);
  if E = EW_Standby then
    SetSystemPowerState(true, Force);
  if E = EW_Abmelden then
    ExitWindowsEx(EWX_LOGOFF or flag, 0);
  if E = EW_Neustart then
    ExitWindowsEx(EWX_REBOOT or flag,0);
end;
Tja, also ist die benutzung von
EWX_POWEROFF und
SetSystemPowerState
ähnlich, gleich, oder wie? hä?

Viele Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat