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