Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Process-Klasse

 

Veröffentlicht: Oktober 2016

Ermöglicht den Zugriff auf lokale und entfernte Prozesse sowie das Starten und Stoppen lokaler Prozesse.

Sie können den .NET Framework-Quellcode für diesen Typ im Reference Source einsehen.

Namespace:   System.Diagnostics
Assembly:  System (in System.dll)

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Diagnostics.Process

[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true, 
	Synchronization = true, ExternalProcessMgmt = true, SelfAffectingProcessMgmt = true)]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public class Process : Component

NameBeschreibung
System_CAPS_pubmethodProcess()

Initialisiert eine neue Instanz der Process-Klasse.

NameBeschreibung
System_CAPS_pubpropertyBasePriority

Ruft die Basispriorität des zugeordneten Prozesses ab.

System_CAPS_protpropertyCanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von „Component“.)

System_CAPS_pubpropertyContainer

Ruft den IContainer ab, der Component enthält. (Geerbt von „Component“.)

System_CAPS_protpropertyDesignMode

Ruft einen Wert, der angibt, ob die Component befindet sich derzeit im Entwurfsmodus befindet.(Geerbt von „Component“.)

System_CAPS_pubpropertyEnableRaisingEvents

Ruft ab oder legt fest, ob beim Beenden des Prozesses das Exited-Ereignis ausgelöst werden soll.

System_CAPS_protpropertyEvents

Ruft die Liste der Ereignishandler, die mit dieser verknüpft sind Component.(Geerbt von „Component“.)

System_CAPS_pubpropertyExitCode

Ruft den Wert ab, der vom zugeordneten Prozess beim Beenden angegeben wurde.

System_CAPS_pubpropertyExitTime

Ruft den Zeitpunkt ab, zu dem der zugeordnete Prozess beendet wurde.

System_CAPS_pubpropertyHandle

Ruft das systemeigene Handle des zugeordneten Prozesses ab.

System_CAPS_pubpropertyHandleCount

Ruft die Anzahl der vom Prozess geöffneten Handles ab.

System_CAPS_pubpropertyHasExited

Ruft einen Wert ab, der angibt, ob der zugehörige Prozess beendet wurde.

System_CAPS_pubpropertyId

Ruft den eindeutigen Bezeichner für den zugeordneten Prozess ab.

System_CAPS_pubpropertyMachineName

Ruft den Namen des Computers ab, auf dem der zugeordnete Prozess ausgeführt wird.

System_CAPS_pubpropertyMainModule

Ruft das Hauptmodul für den zugeordneten Prozess ab.

System_CAPS_pubpropertyMainWindowHandle

Ruft das Fensterhandle des Hauptfensters des zugeordneten Prozesses ab.

System_CAPS_pubpropertyMainWindowTitle

Ruft die Beschriftung des Hauptfensters des Prozesses ab.

System_CAPS_pubpropertyMaxWorkingSet

Ruft, in Bytes, die maximal zulässige Workingsetgröße für den zugeordneten Prozess ab oder legt diese fest.

System_CAPS_pubpropertyMinWorkingSet

Ruft, in Bytes, die Workingsetmindestgröße für den zugeordneten Prozess ab oder legt diese fest.

System_CAPS_pubpropertyModules

Ruft die Module ab, die vom zugeordneten Prozess geladen wurden.

System_CAPS_pubpropertyNonpagedSystemMemorySize

Veraltet. Ruft die Menge des für den zugeordneten Prozess belegten nicht ausgelagerten Systemspeichers in Bytes ab.

System_CAPS_pubpropertyNonpagedSystemMemorySize64

Ruft die Menge des für den zugeordneten Prozess belegten nicht ausgelagerten Systemspeichers in Bytes ab.

System_CAPS_pubpropertyPagedMemorySize

Veraltet. Ruft die Größe des Auslagerungsspeichers in Bytes ab, der für den zugeordneten Prozess belegt wird.

System_CAPS_pubpropertyPagedMemorySize64

Ruft die Größe des Auslagerungsspeichers in Bytes ab, der für den zugeordneten Prozess belegt wird.

System_CAPS_pubpropertyPagedSystemMemorySize

Veraltet. Ruft die Menge des für den zugeordneten Prozess belegten auslagerbaren Systemspeichers in Bytes ab.

System_CAPS_pubpropertyPagedSystemMemorySize64

Ruft die Menge des für den zugeordneten Prozess belegten auslagerbaren Systemspeichers in Bytes ab.

System_CAPS_pubpropertyPeakPagedMemorySize

Veraltet. Ruft den vom zugeordneten Prozess verwendeten maximalen Arbeitsspeicher in der Auslagerungsdatei des virtuellen Arbeitsspeichers in Bytes ab.

System_CAPS_pubpropertyPeakPagedMemorySize64

Ruft den vom zugeordneten Prozess verwendeten maximalen Arbeitsspeicher in der Auslagerungsdatei des virtuellen Arbeitsspeichers in Bytes ab.

System_CAPS_pubpropertyPeakVirtualMemorySize

Veraltet. Ruft die maximale Größe des virtuellen Speichers (in Bytes) ab, der vom zugeordneten Prozess verwendet wird.

System_CAPS_pubpropertyPeakVirtualMemorySize64

Ruft die maximale Größe des virtuellen Speichers (in Bytes) ab, der vom zugeordneten Prozess verwendet wird.

System_CAPS_pubpropertyPeakWorkingSet

Veraltet. Ruft die maximale Größe des Workingsets für den zugeordneten Prozess in Bytes ab.

System_CAPS_pubpropertyPeakWorkingSet64

Ruft die maximale Größe des physischen Speichers (in Bytes) ab, der vom zugeordneten Prozess verwendet wird.

System_CAPS_pubpropertyPriorityBoostEnabled

Ruft einen Wert ab, der angibt, ob die zugeordnete Prozesspriorität durch das Betriebssystem vorübergehend erhöht werden soll, wenn das Hauptfenster den Fokus besitzt, oder legt diesen fest.

System_CAPS_pubpropertyPriorityClass

Ruft die allgemeine Prioritätskategorie für den zugeordneten Prozess ab oder legt diese fest.

System_CAPS_pubpropertyPrivateMemorySize

Veraltet. Ruft die Größe des privaten Speichers in Bytes ab, der für den zugeordneten Prozess belegt wird.

System_CAPS_pubpropertyPrivateMemorySize64

Ruft die Größe des privaten Speichers in Bytes ab, der für den zugeordneten Prozess belegt wird.

System_CAPS_pubpropertyPrivilegedProcessorTime

Ruft die privilegierte Prozessorzeit für diesen Prozess ab.

System_CAPS_pubpropertyProcessName

Ruft den Namen des Prozesses ab.

System_CAPS_pubpropertyProcessorAffinity

Ruft die Prozessoren ab, auf denen die Ausführung der Threads in diesem Prozess geplant werden kann, oder legt diese fest.

System_CAPS_pubpropertyResponding

Ruft einen Wert ab, der angibt, ob die Benutzeroberfläche des Prozesses reagiert.

System_CAPS_pubpropertySafeHandle

Ruft das systemeigene Handle dieses Prozesses ab.

System_CAPS_pubpropertySessionId

Ruft die Terminaldienste-Sitzungs-ID für den zugeordneten Prozess ab.

System_CAPS_pubpropertySite

Ruft ab oder legt die ISite von der Component.(Geerbt von „Component“.)

System_CAPS_pubpropertyStandardError

Ruft einen Stream ab, mit dem die Fehlerausgabe der Anwendung gelesen wird.

System_CAPS_pubpropertyStandardInput

Ruft einen Stream ab, in den die Eingaben der Anwendung geschrieben werden.

System_CAPS_pubpropertyStandardOutput

Ruft einen Stream ab, der dazu verwendet wird, die Textausgabe der Anwendung zu lesen.

System_CAPS_pubpropertyStartInfo

Ruft die Eigenschaften ab, die an die Start-Methode von Process übergeben werden sollen, oder legt diese fest.

System_CAPS_pubpropertyStartTime

Ruft die Zeit ab, zu der der zugeordnete Prozess gestartet wurde.

System_CAPS_pubpropertySynchronizingObject

Ruft das Objekt ab, das zum Marshallen der Ereignishandleraufrufe verwendet wird, die als Ergebnis eines Prozessbeendigungsereignisses ausgegeben werden, oder legt dieses fest.

System_CAPS_pubpropertyThreads

Ruft die Gruppe von Threads ab, die im zugeordneten Prozess ausgeführt werden.

System_CAPS_pubpropertyTotalProcessorTime

Ruft die gesamte Prozessorzeit für diesen Prozess ab.

System_CAPS_pubpropertyUserProcessorTime

Ruft die Benutzerprozessorzeit für diesen Prozess ab.

System_CAPS_pubpropertyVirtualMemorySize

Veraltet. Ruft die Größe des virtuellen Speichers für diesen Prozess in Bytes ab.

System_CAPS_pubpropertyVirtualMemorySize64

Ruft die Größe des virtuellen Speichers, der für den zugeordneten Prozess belegt wird, in Bytes ab.

System_CAPS_pubpropertyWorkingSet

Veraltet. Ruft die Belegung des physischen Speichers durch den zugeordneten Prozess in Bytes ab.

System_CAPS_pubpropertyWorkingSet64

Ruft die Größe des physischen Speichers in Bytes ab, der für den zugeordneten Prozess belegt wird.

NameBeschreibung
System_CAPS_pubmethodBeginErrorReadLine()

Startet asynchrone Lesevorgänge im umgeleiteten StandardError-Stream der Anwendung.

System_CAPS_pubmethodBeginOutputReadLine()

Startet asynchrone Lesevorgänge im umgeleiteten StandardOutput-Stream der Anwendung.

System_CAPS_pubmethodCancelErrorRead()

Bricht den asynchronen Lesevorgang im umgeleiteten StandardError-Stream einer Anwendung ab.

System_CAPS_pubmethodCancelOutputRead()

Bricht den asynchronen Lesevorgang im umgeleiteten StandardOutput-Stream einer Anwendung ab.

System_CAPS_pubmethodClose()

Gibt alle dieser Komponente zugeordneten Ressourcen frei.

System_CAPS_pubmethodCloseMainWindow()

Schließt einen Prozess mit einer Benutzeroberfläche, indem eine Meldung zum Schließen an das Hauptfenster gesendet wird.

System_CAPS_pubmethodCreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt verwendet die enthält.(Geerbt von „MarshalByRefObject“.)

System_CAPS_pubmethodDispose()

Gibt alle vom Component verwendeten Ressourcen frei.(Geerbt von „Component“.)

System_CAPS_protmethodDispose(Boolean)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt alle von diesem Prozess verwendeten Ressourcen frei.(Überschreibt Component.Dispose(Boolean).)

System_CAPS_pubmethodSystem_CAPS_staticEnterDebugMode()

Versetzt durch Aktivieren der systemeigenen Process-Eigenschaft für den aktuellen Thread eine SeDebugPrivilege-Komponente in einen Zustand, in dem sie mit Betriebssystemprozessen interagieren kann, die in einem speziellen Modus ausgeführt werden.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt nicht verwaltete Ressourcen frei und führt andere Bereinigungsvorgänge durch, bevor die Component durch die Garbage Collection wieder zugänglich gemacht wird.(Geerbt von „Component“.)

System_CAPS_pubmethodSystem_CAPS_staticGetCurrentProcess()

Ruft eine neue Process-Komponente ab und ordnet diese dem gegenwärtig aktiven Prozess zu.

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetLifetimeService()

Ruft das Dienstobjekt für aktuellen Lebensdauer, das steuert, die lebensdauerrichtlinie für diese Instanz ab.(Geerbt von „MarshalByRefObject“.)

System_CAPS_pubmethodSystem_CAPS_staticGetProcessById(Int32)

Gibt eine neue Process-Komponente zurück, wenn der Bezeichner eines Prozesses auf dem lokalen Computer angegeben ist.

System_CAPS_pubmethodSystem_CAPS_staticGetProcessById(Int32, String)

Gibt eine neue Process-Komponente zurück, wenn die Prozess-ID und der Name des Computers im Netzwerk angegeben sind.

System_CAPS_pubmethodSystem_CAPS_staticGetProcesses()

Erstellt eine neue Process-Komponente für jede Prozessressource auf dem lokalen Computer.

System_CAPS_pubmethodSystem_CAPS_staticGetProcesses(String)

Erstellt eine neue Process-Komponente für jede Prozessressource auf dem lokalen Computer.

System_CAPS_pubmethodSystem_CAPS_staticGetProcessesByName(String)

Erstellt ein Array neuer Process-Komponenten und ordnet diese allen Prozessressourcen auf dem lokalen Computer zu, die den angegebenen Prozessnamen gemeinsam verwenden.

System_CAPS_pubmethodSystem_CAPS_staticGetProcessesByName(String, String)

Erstellt ein Array neuer Process-Komponenten und ordnet diese allen Prozessressourcen auf einem Remotecomputer zu, die den angegebenen Prozessnamen gemeinsam verwenden.

System_CAPS_protmethodGetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.(Geerbt von „Component“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodInitializeLifetimeService()

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.(Geerbt von „MarshalByRefObject“.)

System_CAPS_pubmethodKill()

Hält den zugeordneten Prozess sofort an.

System_CAPS_pubmethodSystem_CAPS_staticLeaveDebugMode()

Beendet den Zustand einer Process-Komponente, in dem sie mit Betriebssystemprozessen interagieren kann, die in einem speziellen Modus ausgeführt werden.

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekt.(Geerbt von „MarshalByRefObject“.)

System_CAPS_protmethodOnExited()

Löst das Exited-Ereignis aus.

System_CAPS_pubmethodRefresh()

Verwirft alle Informationen über den zugeordneten Prozess, die in der Prozesskomponente zwischengespeichert waren.

System_CAPS_pubmethodStart()

Startet die von der StartInfo-Eigenschaft dieser Process-Komponente angegebene Prozessressource (oder verwendet sie erneut) und ordnet diese der Komponente zu.

System_CAPS_pubmethodSystem_CAPS_staticStart(ProcessStartInfo)

Startet die Prozessressource, die durch den Parameter mit den Startinformationen für den Prozess angegeben wird (z. B. den Dateinamen des zu startenden Prozesses), und ordnet die Ressource einer neuen Process-Komponente zu.

System_CAPS_pubmethodSystem_CAPS_staticStart(String)

Startet eine Prozessressource, indem der Name eines Dokuments oder einer Anwendungsdatei angegeben wird, und ordnet die Ressource einer neuen Process-Komponente zu.

System_CAPS_pubmethodSystem_CAPS_staticStart(String, String)

Startet eine Prozessressource durch Angeben des Namens einer Anwendung und einer Reihe von Befehlszeilenargumenten und ordnet die Ressource einer neuen Process-Komponente zu.

System_CAPS_pubmethodSystem_CAPS_staticStart(String, String, SecureString, String)

Startet eine Prozessressource durch Angeben des Namens einer Anwendung, eines Benutzernamens und einer Domäne und ordnet die Ressource einer neuen Process-Komponente zu.

System_CAPS_pubmethodSystem_CAPS_staticStart(String, String, String, SecureString, String)

Startet eine Prozessressource durch Angeben des Namens einer Anwendung und einer Reihe von Befehlszeilenargumenten, eines Benutzernamens, eines Kennworts und einer Domäne und ordnet die Ressource einer neuen Process-Komponente zu.

System_CAPS_pubmethodToString()

Formatiert den Prozessnamen als Zeichenfolge, ggf. kombiniert mit dem Typ der übergeordneten Komponente.(Überschreibt Component.ToString().)

System_CAPS_pubmethodWaitForExit()

Weist die Process-Komponente an, unbestimmte Zeit zu warten, bis der zugeordnete Prozess beendet wird.

System_CAPS_pubmethodWaitForExit(Int32)

Weist die Process-Komponente an, für die Dauer von angegebenen Millisekunden zu warten, bis der zugeordnete Prozess beendet wird.

System_CAPS_pubmethodWaitForInputIdle()

Bewirkt, dass die Process-Komponente unbegrenzt wartet, bis der zugeordnete Prozess in den Leerlauf wechselt. Diese Überladung ist nur für Prozesse mit einer Benutzeroberfläche und einer Nachrichtenschleife gültig.

System_CAPS_pubmethodWaitForInputIdle(Int32)

Bewirkt, dass die Process-Komponente die Dauer von angegebenen Millisekunden wartet, bis der zugeordnete Prozess in den Leerlauf wechselt. Diese Überladung ist nur für Prozesse mit einer Benutzeroberfläche und einer Nachrichtenschleife gültig.

NameBeschreibung
System_CAPS_pubeventDisposed

Tritt auf, wenn die Komponente durch einen Aufruf der Dispose Methode freigegeben wird.
(Geerbt von „Component“.)

System_CAPS_pubeventErrorDataReceived

Tritt auf, wenn eine Anwendung in ihren umgeleiteten StandardError-Stream schreibt.

System_CAPS_pubeventExited

Tritt beim Beenden eines Prozesses ein.

System_CAPS_pubeventOutputDataReceived

Tritt jedes Mal auf, wenn eine Anwendung eine Zeile in ihren umgeleiteten StandardOutput-Stream schreibt.

System_CAPS_noteHinweis

To view the .NET Framework source code for this type, see the Reference Sourcehttp://referencesource.microsoft.com/#System/services/monitoring/system/diagnosticts/Process.cs#f8b2e604d6f1fe04. You can browse through the source code online, download the reference for offline viewing, and step through the sources (including patches and updates) during debugging; see instructionshttp://referencesource.microsoft.com/.

A T:System.Diagnostics.Process component provides access to a process that is running on a computer. A process, in the simplest terms, is a running app. A thread is the basic unit to which the operating system allocates processor time. A thread can execute any part of the code of the process, including parts currently being executed by another thread.

The T:System.Diagnostics.Process component is a useful tool for starting, stopping, controlling, and monitoring apps. You can use the T:System.Diagnostics.Process component, to obtain a list of the processes that are running, or you can start a new process. A T:System.Diagnostics.Process component is used to access system processes. After a T:System.Diagnostics.Process component has been initialized, it can be used to obtain information about the running process. Such information includes the set of threads, the loaded modules (.dll and .exe files), and performance information such as the amount of memory the process is using.

This type implements the T:System.IDisposable interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its M:System.IDisposable.Dispose method in a try/catch block. To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). For more information, see the “Using an Object that Implements IDisposable” section in the T:System.IDisposable interface topic.

System_CAPS_noteHinweis

32-bit processes cannot access the modules of a 64-bit process. If you try to get information about a 64-bit process from a 32-bit process, you will get a T:System.ComponentModel.Win32Exception exception. A 64-bit process, on the other hand, can access the modules of a 32-bit process.

The process component obtains information about a group of properties all at once. After the T:System.Diagnostics.Process component has obtained information about one member of any group, it will cache the values for the other properties in that group and not obtain new information about the other members of the group until you call the M:System.Diagnostics.Process.Refresh method. Therefore, a property value is not guaranteed to be any newer than the last call to the M:System.Diagnostics.Process.Refresh method. The group breakdowns are operating-system dependent.

If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. Otherwise, the system will not find the path. For example, if c:\mypath is not in your path, and you add it using quotation marks: path = %path%;"c:\mypath", you must fully qualify any process in c:\mypath when starting it.

A system process is uniquely identified on the system by its process identifier. Like many Windows resources, a process is also identified by its handle, which might not be unique on the computer. A handle is the generic term for an identifier of a resource. The operating system persists the process handle, which is accessed through the P:System.Diagnostics.Process.Handle property of the T:System.Diagnostics.Process component, even when the process has exited. Thus, you can get the process's administrative information, such as the P:System.Diagnostics.Process.ExitCode (usually either zero for success or a nonzero error code) and the P:System.Diagnostics.Process.ExitTime. Handles are an extremely valuable resource, so leaking handles is more virulent than leaking memory.

System_CAPS_noteHinweis

This class contains a link demand and an inheritance demand at the class level that applies to all members. A T:System.Security.SecurityException is thrown when either the immediate caller or the derived class does not have full-trust permission. For details about security demands, see Link Demands.

In the .NET Framework on the desktop, the T:System.Diagnostics.Process class by default uses T:System.Console encodings, which are typically code page encodings, for the input, output, and error streams. For example code, on systems whose culture is English (United States), code page 437 is the default encoding for the T:System.Console class. However, net_core may make only a limited subset of these encodings available. If this is the case, it uses P:System.Text.Encoding.UTF8 as the default encoding.

If a T:System.Diagnostics.Process object depends on specific code page encodings, you can still make them available by doing the following before you call any T:System.Diagnostics.Process methods:

  1. Add a reference to the System.Text.Encoding.CodePages.dll assembly to your project.

  2. Retrieve the T:System.Text.EncodingProvider object from the P:System.Text.CodePagesEncodingProvider.Instance property.

  3. Pass the T:System.Text.EncodingProvider object to the M:System.Text.Encoding.RegisterProvider(System.Text.EncodingProvider) method to make the additional encodings supported by the encoding provider available.

The T:System.Diagnostics.Process class will then automatically use the default system encoding rather than UTF8, provided that you have registered the encoding provider before calling any T:System.Diagnostics.Process methods.

The following example uses an instance of the T:System.Diagnostics.Process class to start a process.

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        public static void Main()
        {
            Process myProcess = new Process();

            try
            {
                myProcess.StartInfo.UseShellExecute = false;
                // You can start any process, HelloWorld is a do-nothing example.
                myProcess.StartInfo.FileName = "C:\\HelloWorld.exe";
                myProcess.StartInfo.CreateNoWindow = true;
                myProcess.Start();
                // This code assumes the process you are starting will terminate itself. 
                // Given that is is started without a window so you cannot terminate it 
                // on the desktop, it must terminate itself or you can do it programmatically
                // from this application using the Kill method.
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}

The following example uses the T:System.Diagnostics.Process class itself and a static M:System.Diagnostics.Process.Start method to start a process.

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        // Opens the Internet Explorer application.
        void OpenApplication(string myFavoritesPath)
        {
            // Start Internet Explorer. Defaults to the home page.
            Process.Start("IExplore.exe");

            // Display the contents of the favorites folder in the browser.
            Process.Start(myFavoritesPath);
        }

        // Opens urls and .html documents using Internet Explorer.
        void OpenWithArguments()
        {
            // url's are not considered documents. They can only be opened
            // by passing them as arguments.
            Process.Start("IExplore.exe", "www.northwindtraders.com");

            // Start a Web page using a browser associated with .html and .asp files.
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
        }

        // Uses the ProcessStartInfo class to start new processes,
        // both in a minimized mode.
        void OpenWithStartInfo()
        {
            ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
            startInfo.WindowStyle = ProcessWindowStyle.Minimized;

            Process.Start(startInfo);

            startInfo.Arguments = "www.northwindtraders.com";

            Process.Start(startInfo);
        }

        static void Main()
        {
            // Get the path that stores favorite links.
            string myFavoritesPath =
                Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

            MyProcess myProcess = new MyProcess();

            myProcess.OpenApplication(myFavoritesPath);
            myProcess.OpenWithArguments();
            myProcess.OpenWithStartInfo();
        }
    }
}

The following F# example defines a runProc function that starts a process, captures all output and error information, and records the number of milliseconds that the process has run. The runProc function has three parameters: the name of application to launch, the arguments to supply to the application, and the starting directory.

open System
open System.Diagnostics

let runProc filename args startDir : seq<string> * seq<string> = 
    let timer = Stopwatch.StartNew()
    let procStartInfo = 
        ProcessStartInfo(
            RedirectStandardOutput = true,
            RedirectStandardError = true,
            UseShellExecute = false,
            FileName = filename,
            Arguments = args
        )
    match startDir with | Some d -> procStartInfo.WorkingDirectory <- d | _ -> ()

    let outputs = System.Collections.Generic.List<string>()
    let errors = System.Collections.Generic.List<string>()
    let outputHandler f (_sender:obj) (args:DataReceivedEventArgs) = f args.Data
    use p = new Process(StartInfo = procStartInfo)
    p.OutputDataReceived.AddHandler(DataReceivedEventHandler (outputHandler outputs.Add))
    p.ErrorDataReceived.AddHandler(DataReceivedEventHandler (outputHandler errors.Add))
    let started = 
        try
            p.Start()
        with | ex ->
            ex.Data.Add("filename", filename)
            reraise()
    if not started then
        failwithf "Failed to start process %s" filename
    printfn "Started %s with pid %i" p.ProcessName p.Id
    p.BeginOutputReadLine()
    p.BeginErrorReadLine()
    p.WaitForExit()
    timer.Stop()
    printfn "Finished %s after %A milliseconds" filename timer.ElapsedMilliseconds
    let cleanOut l = l |> Seq.filter (fun o -> String.IsNullOrEmpty o |> not)
    cleanOut outputs,cleanOut errors

The code for the runProc function was written by ImaginaryDevelopmenthttp://fssnip.net/authors/ImaginaryDevelopment and is available under the Microsoft Public Licensehttp://opensource.org/licenses/ms-pl.

LinkDemand

for full trust for the immediate caller. This class cannot be used by partially trusted code.

InheritanceDemand

for full trust for inheritors. This class cannot be inherited by partially trusted code.

.NET Framework
Verfügbar seit 1.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: