Einzelnen Beitrag anzeigen

Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#1

Force bei ExWind funktioniert nicht!---> Abmelden ohne Rückfrage

  Alt 20. Jun 2010, 22:58
Delphi-Version: 2006
Beim Aufruf:

self.ExWind(EW_Abmelden,True); der Procedure:

Delphi-Quellcode:
procedure TFormMain.ExWind (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;
welche ich hier im Forum erhalten habe, funktioniert der Force nicht beim Abmelden...

ist z.B. ein Textdokument geöffnet welches noch nicht gesichert wurde wird trotz Force=TRUE eine Rückfrage gestellt : Programm verhindert das abmelden... blablabla... Sofort Beenden oder Abbrechen?
Wird Abbrechen gewählt wird nicht abgemeldet...

Kann jemand helfen?

-benutze Windows 7

wäre schon wenn jemand mit XP das mal debuggen könnte oder vielleicht kennt ja jemand eine kostenlose VirtualMaschine ???
Falls wer Lust hat oder was weiß bitte melden
  Mit Zitat antworten Zitat