Einzelnen Beitrag anzeigen

ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#2

Wie wäre es hiermit

  Alt 3. Jun 2003, 22:00
HAb ich im Forum gefunden!Allerdings nur mit nem server prog. machbar

Delphi-Quellcode:

function tForm1.ExitWin(flag:word): Boolean;
var vi : TOSVersionInfo;
    hToken : THandle;
    tp : TTokenPrivileges;
    h : DWord;

begin
  //result := false;
  vi.dwOSVersionInfoSize:=SizeOf(vi);
  GetVersionEx(vi);
  if vi.dwPlatformId = VER_PLATFORM_WIN32_NT then // Windows NT
  begin
    // Achtung bei Delphi 2 muß @hToken stehen ... !!!! ?????
    OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,hToken);
    LookupPrivilegeValue(nil,'SeShutdownPrivilege',tp.Privileges[0].Luid);
    tp.PrivilegeCount := 1;
    tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
    h := 0;
    AdjustTokenPrivileges(hToken,False,tp,0,PTokenPrivileges(nil)^,h);
    CloseHandle(hToken);
    result := ExitWindowsEx(flag,0);
  end
  else // Windows 95
  begin
    Result := ExitWindowsEx(flag,0);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form1.ExitWin(EWX_SHUTDOWN);
end;
Einfacher noch geht es mit einem Befehl!

  Exitwindows(EWX_logoff,ewx_force); Es muss allerdings auch noch nen MS-DOS eingabevorderungs befehl geben , den ich weiss das das bei win2000 ging! Weiss leder nit mehr wie aber die Windowshilfe hat bestimmt ne auskunft oder google!
Muss dann ja nurnoch den port und die adresse, ebenfalls Kennwort und user eingeben!

guck mal hier! vielleicht is das was!

http://www.lan2wan.de/forum/NetzAllg/129.html#1

@wardz
  Mit Zitat antworten Zitat