Delphi-PRAXiS

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

Timo 10. Jan 2003 13:40

so, hab wieder zeit gefunden mich dran zu setzen *SC***ß KLAUSUREN!!*

aber irgendwie funzt das nicht mit regedit und lockworkstation!
nur bei msconfig! kann es sein, dass ich keinen zugriff von "außen" darauf bekomme?!

vbinsider 11. Jul 2004 23:49

Re: "Ausführen"
 
Geh mal auf Extras->Ordneroptionen und schalte unter "Ansicht" die "Einfache Dateifreigabe" ab. Dann kannst du für jeden Ordner einzeln einstellen, wer darauf zugreifen darf und was er/sie machen darf.

mfg vbinsider

Tubos 11. Jul 2004 23:54

Re: "Ausführen"
 
Zitat:

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!
[OT]So ein ähnliches Problem gab es bei mir auch.
Ich habe 1 Monat gebraucht bis ich das mit den Berechtigungen herausen hatte :wall: [/OT]
Schau mal ob dein Bruder irgendwo Vollzugriff hat. Das bedeutet nämlich, dass er die Sicherheitseinstellungen ändern kann - auch ohne Administratorrechte!

alcaeus 12. Jul 2004 04:48

Re: "Ausführen"
 
Zitat:

Zitat von Tubos
Schau mal ob dein Bruder irgendwo Vollzugriff hat. Das bedeutet nämlich, dass er die Sicherheitseinstellungen ändern kann - auch ohne Administratorrechte!

Er kann die Zugriffsrechte aber nur bei den Ordner ändern, auf die er Vollzugriff hat. Falls du deine Rechte nicht mehr setzen darfst (weil vom Gastbenutzer dem Administrator der Vollzugriff genommen wurde), dann musst du ein Programm wie ERD Commander verwenden, um die Berechtigungen zurückzusetzen.

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr.

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