Bryan Albrecht

Process.Start()

Mit der Funktion Process.Start() ist es möglich einen anderen Prozess zu aufzurufen.

Aufgerufen werden können ausführbare Dateien und Internetadressen. Internetadressen werden im Standartbrowser geöffnet.

Am einfachsten kann ein Programm gestartet werden, in dem man als Parameter den Pfad für die auszuführende Anwendung mitgibt.

Dies könnte so aussehen:

  1. Process.Start("C:/Program Files/Test.exe");

Wenn im Pfad backslashes verwendet warden sollen, dann müssen diese escaped werden.

Dies könnte so aussehen:

  1. Process.Start("C:\\Program Files\\Test.exe");

Das selbe ist möglich mit ener Internetadresse:

  1. Process.Start("http://Google.com");

Mit weiteren Parametern kann man Argumente angeben, mit welchen das Programm gestartet werden soll.

Dies sieht so aus:

  1. Process.Start("C:/Program Files/Test.exe","Atribut");

Da es manchmal notwendig ist, dass man eine Anwendung als ein andrer Benutzer startet, kann man dies mit weiteren Parametern machen.

Um die Anwendung als ein anderer Benutzer starten zu können, braucht man den Benutzernamen, das Passwort und die Domain.

Das Passwort ist als SecureString gespeichert und muss zuerst aus einem String generiert werden.

Code:

  1. System.Security.SecureString secureString = new System.Security.SecureString();
  2. String password = "Passwort";
  3. char[] pwArray = password.ToCharArray();
  4. foreach (char item in pwArray)
  5. {
  6. strings.AppendChar(item);
  7. }
  8. Process.Start(location, "Benutzer", secureString, "Domain");