AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RunAs

Ein Thema von juhuu32 · begonnen am 21. Jul 2004 · letzter Beitrag vom 23. Jul 2004
Antwort Antwort
juhuu32

Registriert seit: 9. Sep 2002
15 Beiträge
 
#1

RunAs

  Alt 21. Jul 2004, 07:25
Hallo zusammen,
ich hab' den folgenden Code bei SwissDelphiCenter.ch gefunden.
Das ganze funktioniert wunderbar mit dem unteren Aufruf aber es
erscheint das Konsolenfenster und bleibt so lange aktiv bis
CACLS abgearbeitet ist. Kann ich das "aufgerufene" Programm
irgendwie unsichtbar machen?

Besten Dank

juhuu32



Delphi-Quellcode:
uses
  JwaWinBase; ( [url]http://members.chello.nl/m.vanbrakel2/[/url] )

//...

procedure TForm1.Button1Click(Sender: TObject);
var
  si: STARTUPINFOW;
  pif: PROCESS_INFORMATION;
  res: Bool;
  s: string;
begin
  //erstmal die StartUpInfoW setzen
  //set StartUpInfoW first
  si.cb := SizeOf(startupinfow);
  si.dwFlags := STARTF_USESHOWWINDOW;
  [b]si.wShowWindow := SW_HIDE; [/b]
  si.lpReserved := nil;
  si.lpDesktop := nil;
  si.lpTitle := 'Konsole';

  // dann CreateProcessWithLogonW ausführen...
  // run CreateProcessWithLogonW...
  [b]res := CreateProcessWithLogonW('USER', 'DOMAIN', 'PASSWORD', LOGON_WITH_PROFILE,
    nil, 'CACLS.EXE C:\TEST /P Benutzer:C
    , CREATE_DEFAULT_ERROR_MODE, nil, nil, si, pif); [/b]
  if booltostr(res) = '0then
  begin
    //wenn ein Fehler auftritt, soll der Fehlercode ausgegeben werden
    //über 'net helpmsg ' in der Kommandoeingabeaufforderung
    //kann dieser entziffert werden

    //if an error occures, show the error-code
    //this code can be 'translated' with 'net helpmsg ' on command-prompt
    str(GetLastError, s);
    ShowMessage('CreateProcessWithLogonResult: ' + booltostr(res) + #10 +
      'GetLastError: ' + s);
  end;
end;
// Verbesserungen gerne als Mail an mich!

[edit=Sharky]Delphi-Tags gesetzt. Antworten grundsätzlich hier im Forum!! Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: RunAs

  Alt 23. Jul 2004, 16:23
Moin Juhuu,

probier mal nicht cacls direkt aufzurufen, sondern über eine Konsole (cmd.exe /c <BEFEHL>).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 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