Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi "Ausführen" (https://www.delphipraxis.net/2074-ausfuehren.html)

Timo 5. Jan 2003 20:51


"Ausführen"
 
hi!
ich will ein kleines tool schreiben, dass zum beispiel regedit öffnet oder den computer unter xp abmeldet!
das geht ja über start -> ausführen!

wie kann ich jetzt zum beispiel den befehl:

%windir%\System32\rundll32.exe user32.dll,LockWorkStation

ausführen?

ich hoffe ich versteht was ich meine :spin:

fiasko 5. Jan 2003 21:06

Re: "Ausführen"
 
Sollte so klappen:

Delphi-Quellcode:
uses
  ShellAPI;

  {...}

  ShellExecute(0,'','%windir%\System32\rundll32.exe','user32.dll,LockWorkStation',nil,0);

  {...}
Thomas

Timo 5. Jan 2003 21:10

sieht gut aus - werd ich gleich mal testen!
danke schonmal!

wisst ihr, ob man unter xp einem benutzer xy <> admin den zugriff auf spezielle ordner und datein verweigern kann? oder über netzwerk den zugriff verhindern kann, obwohl man eigentlich die komplette partition freigegeben hat?

thx nochmal!

fiasko 5. Jan 2003 21:12

Zitat:

Zitat von Timo
wisst ihr, ob man unter xp einem benutzer xy <> admin den zugriff auf spezielle ordner und datein verweigern kann? oder über netzwerk den zugriff verhindern kann, obwohl man eigentlich die komplette partition freigegeben hat?

Du kannst unter NT/2K/XP grundsätzlich die Freigaben und Datei-/Verzeichniszugriffe beschränken. Setzt natürlich voraus, das du NTFS verwendest. K.A. ob es bei der Home Editionen einschränkungen gibt...


Thomas

Timo 5. Jan 2003 21:15

hab die proffesional version ...
hmmmmm - vielleicht kann mir ja ein anderer die fragen genauer beantworten *AUFRUF* :D

fiasko 5. Jan 2003 21:18

Zitat:

Zitat von Timo
vielleicht kann mir ja ein anderer die fragen genauer beantworten

Wie meinst du denn das, du hast doch nur ne boolean Frage gestellt. Und ich hab dir ne Antwort gegeben :-)

Timo 5. Jan 2003 21:21

wenn es geht:

wie :-)

fiasko 5. Jan 2003 21:34

Zitat:

Zitat von Timo
wenn es geht: wie :-)

darauf hab ich gewartet :-). Es ist nicht ganz so einfach, was ich bis jetzt dafür gefunden habe ist NTSet (findet man auf http://www.torry.net/nt.htm). Allerdings Shareware... ansonsten sieht's da sehr dürre aus...


Thomas

Luckie 6. Jan 2003 02:32

Re: "Ausführen"
 
Zitat:

Zitat von Timo
hi!
ich will ein kleines tool schreiben, dass zum beispiel regedit öffnet

Shellexecute(Form1.Handle, 'open', 'regedit', nil, nil, SW_NORMAL);
Zitat:

oder den computer unter xp abmeldet!
das geht ja über start -> ausführen!
Bei mir kann ich keinen Computer von XP abmelden. Aber wenn das bei dir geht...., :roll: kannst du, wenn du deinen Rechner bei XP abgemeldet hast deinen Laptop dort wieder anmelden oder wie? :shock:
Code:
function 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;
Und aufruf mit:
Code:
ExitWin(EWX_REBOOT);
oder
ExitWin(EWX_POWEROFF);
oder
ExitWin(EWX_LOGOFF);
oder
ExitWin(EWX_SHUTDOWN);
Zitat:

wie kann ich jetzt zum beispiel den befehl:
%windir%\System32\rundll32.exe user32.dll,LockWorkStation
ausführen?
Ganz einfach, die API: LockWorkStation aufrufen, die Funktion erwartet noch nicht mal Parameter.

Timo 6. Jan 2003 10:53

ein laptop *träum*

ne - ich habe mir den administrator *ich liebe dieses wort* eingerichtet und mein bruder ist nur als gast da - aber er hat irgendeine mir unbekannte fähigkeit sachen verschwinden zu lassen und da wollte ich ihm nur zugriff auf eine partition gewähren!

:-) Timo


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 Uhr.
Seite 1 von 2  1 2      

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