Process.Start Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Elindít egy folyamaterőforrást, és hozzárendeli egy Process összetevőhöz.
Túlterhelések
| Name | Description |
|---|---|
| Start(String, String, SecureString, String) |
Elindít egy folyamaterőforrást egy alkalmazás, egy felhasználónév, egy jelszó és egy tartomány nevének megadásával, és társítja az erőforrást egy új Process összetevővel. |
| Start(String, String, String, SecureString, String) |
Elindít egy folyamaterőforrást az alkalmazás nevének, egy parancssori argumentumkészletnek, egy felhasználónévnek, egy jelszónak és egy tartománynak a megadásával, és társítja az erőforrást egy új Process összetevővel. |
| Start(String, String) |
Elindít egy folyamaterőforrást egy alkalmazás nevének és egy parancssori argumentumkészletnek a megadásával, és társítja az erőforrást egy új Process összetevővel. |
| Start(ProcessStartInfo) |
Elindítja a folyamatindítási adatokat tartalmazó paraméter által megadott folyamaterőforrást (például az elindítandó folyamat fájlnevét), és társítja az erőforrást egy új Process összetevővel. |
| Start(String) |
Elindít egy folyamaterőforrást egy dokumentum vagy alkalmazásfájl nevének megadásával, és társítja az erőforrást egy új Process összetevővel. |
| Start(String, IEnumerable<String>) |
Elindít egy folyamaterőforrást egy alkalmazás nevének és egy parancssori argumentumkészletnek a megadásával. |
| Start() |
Elindítja (vagy újra felhasználja) az összetevő tulajdonsága StartInfo által Process megadott folyamaterőforrást, és társítja azt az összetevőhöz. |
Start(String, String, SecureString, String)
- Forrás:
- Process.Unix.cs
- Forrás:
- Process.Unix.cs
- Forrás:
- Process.Unix.cs
- Forrás:
- Process.Unix.cs
- Forrás:
- Process.Unix.cs
Fontos
Ez az API nem CLS-kompatibilis.
Elindít egy folyamaterőforrást egy alkalmazás, egy felhasználónév, egy jelszó és egy tartomány nevének megadásával, és társítja az erőforrást egy új Process összetevővel.
public:
static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::String ^ userName, System::Security::SecureString ^ password, System::String ^ domain);
[System.CLSCompliant(false)]
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static System.Diagnostics.Process? Start(string fileName, string userName, System.Security.SecureString password, string domain);
[System.CLSCompliant(false)]
public static System.Diagnostics.Process Start(string fileName, string userName, System.Security.SecureString password, string domain);
public static System.Diagnostics.Process Start(string fileName, string userName, System.Security.SecureString password, string domain);
[<System.CLSCompliant(false)>]
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Start : string * string * System.Security.SecureString * string -> System.Diagnostics.Process
[<System.CLSCompliant(false)>]
static member Start : string * string * System.Security.SecureString * string -> System.Diagnostics.Process
static member Start : string * string * System.Security.SecureString * string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, userName As String, password As SecureString, domain As String) As Process
Paraméterek
- fileName
- String
A folyamatban futtatandó alkalmazásfájl neve.
- userName
- String
A folyamat indításakor használandó felhasználónév.
- password
- SecureString
A SecureString folyamat indításakor használandó jelszót tartalmazó jelszó.
- domain
- String
A folyamat indításakor használni kívánt tartomány.
Válaszok
A folyamaterőforráshoz társított új Process , vagy null ha nem indul el folyamaterőforrás. Vegye figyelembe, hogy egy új folyamat, amely ugyanannak a folyamatnak a már futó példányai mellett indult el, független lesz a többitől. Emellett a Start egy nem null értékű folyamatot is visszaadhat, amelynek tulajdonsága HasExited már be van állítva true. Ebben az esetben előfordulhat, hogy az elindított folyamat aktivált egy meglévő példányt, majd kilépett.
- Attribútumok
Kivételek
Nincs megadva fájlnév.
Hiba történt a társított fájl megnyitásakor.
-vagy-
A megadott fileName fájl nem található.
A folyamatobjektum már el lett adva.
Ez a tag linuxos vagy macOS rendszeren nem támogatott (csak .NET Core esetén).
Példák
Az alábbi példakód bemutatja, hogy a túlterhelés milyen hatással van egy végrehajtható fájl indítására, és azt is bemutatja Win32Exception , hogy mikor történik kísérlet egy nem vágható fájlhoz társított alkalmazás elindítására.
// NOTE: This example requires a text.txt file file in your Documents folder
using System;
using System.Diagnostics;
using System.Security;
using System.ComponentModel;
class Example
{
static void Main()
{
Console.Write("Enter your domain: ");
string domain = Console.ReadLine();
Console.Write("Enter you user name: ");
string uname = Console.ReadLine();
Console.Write("Enter your password: ");
SecureString password = new SecureString();
ConsoleKeyInfo key;
do
{
key = Console.ReadKey(true);
// Ignore any key out of range.
if (((int)key.Key) >= 33 && ((int)key.Key <= 90) && key.Key != ConsoleKey.Enter)
{
// Append the character to the password.
password.AppendChar(key.KeyChar);
Console.Write("*");
}
// Exit if Enter key is pressed.
} while (key.Key != ConsoleKey.Enter);
Console.WriteLine();
try
{
Console.WriteLine("\nTrying to launch NotePad using your login information...");
Process.Start("notepad.exe", uname, password, domain);
}
catch (Win32Exception ex)
{
Console.WriteLine(ex.Message);
}
string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\";
try
{
// The following call to Start succeeds if test.txt exists.
Console.WriteLine("\nTrying to launch 'text.txt'...");
Process.Start(path + "text.txt");
}
catch (Win32Exception ex)
{
Console.WriteLine(ex.Message);
}
try
{
// Attempting to start in a shell using this Start overload fails. This causes
// the following exception, which is picked up in the catch block below:
// The specified executable is not a valid application for this OS platform.
Console.WriteLine("\nTrying to launch 'text.txt' with your login information...");
Process.Start(path + "text.txt", uname, password, domain);
}
catch (Win32Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
password.Dispose();
}
}
}
// NOTE: This example requires a text.txt file file in your Documents folder
open System
open System.Diagnostics
open System.Security
open System.ComponentModel
printf "Enter your domain: "
let domain = stdin.ReadLine()
printf "Enter you user name: "
let uname = stdin.ReadLine()
printf "Enter your password: "
let password = new SecureString()
let mutable key = Console.ReadKey(true)
while key.Key <> ConsoleKey.Enter do
// Ignore any key out of range.
if int key.Key >= 33 && int key.Key <= 90 && key.Key <> ConsoleKey.Enter then
// Append the character to the password.
password.AppendChar key.KeyChar
Console.Write "*"
key <- Console.ReadKey(true)
printfn ""
try
printfn "\nTrying to launch NotePad using your login information..."
Process.Start("notepad.exe", uname, password, domain) |> ignore
with :? Win32Exception as ex ->
printfn $"{ex.Message}"
let path = Environment.GetFolderPath Environment.SpecialFolder.MyDocuments + @"\"
try
// The following call to Start succeeds if test.txt exists.
printfn "\nTrying to launch 'text.txt'..."
Process.Start $"{path}text.txt" |> ignore
with :? Win32Exception as ex ->
printfn $"{ex.Message}"
try
try
// Attempting to start in a shell using this Start overload fails. This causes
// the following exception, which is picked up in the catch block below:
// The specified executable is not a valid application for this OS platform.
printfn "\nTrying to launch 'text.txt' with your login information..."
Process.Start($"{path}text.txt", uname, password, domain) |> ignore
with :? Win32Exception as ex ->
printfn $"{ex.Message}"
finally
password.Dispose()
' This sample requires a text.txt file file in your documents folder.
' You'll also need to set the startup object in the project to Sub Main.
Imports System.Diagnostics
Imports System.Security
Imports System.ComponentModel
Module Program
Sub Main()
Console.Write("Enter your domain: ")
Dim domain As String = Console.ReadLine()
Console.Write("Enter you user name: ")
Dim uname As String = Console.ReadLine()
Console.Write("Enter your password: ")
Dim password As New SecureString()
Dim key As ConsoleKeyInfo
Do
key = Console.ReadKey(True)
' Ignore any key out of range.
If key.Key >= 33 AndAlso key.Key <= 90 AndAlso key.Key <> ConsoleKey.Enter Then
' Append the character to the password.
password.AppendChar(key.KeyChar)
Console.Write("*")
End If
' Exit if Enter key is pressed.
Loop While key.Key <> ConsoleKey.Enter
Console.WriteLine()
Try
Console.WriteLine(vbCrLf + "Trying to launch NotePad using your login information...")
Process.Start("notepad.exe", uname, password, domain)
Catch ex As Win32Exception
Console.WriteLine(ex.Message)
End Try
Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\"
Try
' The following call to Start succeeds if test.txt exists.
Console.WriteLine(vbCrLf + "Trying to launch 'text.txt'...")
Process.Start(path + "Text.txt")
Catch ex As Win32Exception
Console.WriteLine(ex.Message)
End Try
Try
' Attempting to start in a shell using this Start overload fails. This causes
' the following exception, which is picked up in the catch block below:
' The specified executable is not a valid application for this OS platform.
Console.WriteLine(vbCrLf + "Trying to launch 'text.txt' with your login information...")
Process.Start(path + "Text.txt", uname, password, domain)
Catch ex As Win32Exception
Console.WriteLine(ex.Message)
Finally
password.Dispose()
End Try
End Sub
End Module
Megjegyzések
Ezzel a túlterheléssel új folyamatot és elsődleges szálat hozhat létre a fájlnév, a felhasználónév, a jelszó és a tartomány megadásával. Az új folyamat ezután a megadott hitelesítő adatok (felhasználó, tartomány és jelszó) biztonsági környezetében futtatja a megadott végrehajtható fájlt.
Important
A metódus nem megbízható adatokkal való meghívása biztonsági kockázatot jelent. Ezt a metódust csak megbízható adatokkal hívhatja meg. További információ: Minden bemenet ellenőrzése.
Note
Ha a végrehajtható fájl egy távoli meghajtón található, a hálózati megosztást egységes erőforrás-azonosítóval (URI) kell azonosítania, nem csatolt meghajtóbetűjellel.
Note
Ha a elindítandó végrehajtható fájl címe EGY URL-cím, a folyamat nem indul el, és null a rendszer visszaadja.
Ez a túlterhelés lehetővé teszi, hogy új példány létrehozása nélkül elindítsa a Process folyamatot. A túlterhelés alternatíva az új Process példány létrehozásának, a FileNametulajdonság , UserName, , Passwordés Domain tulajdonságainak beállításának, valamint a StartInfo példány meghívásának StartProcess explicit lépéseinek.
Hasonlóképpen, ahogyan a Futtatás párbeszédpanel képes elfogadni egy végrehajtható fájlnevet a .exe kiterjesztéssel vagy anélkül, a .exe bővítmény nem kötelező a fileName paraméterben. Beállíthatja például a fileName paramétert "Notepad.exe" vagy "Jegyzettömb" értékre. Ha a fileName paraméter végrehajtható fájlt jelöl, a arguments paraméter egy végrehajtandó fájlt jelölhet, például a szövegfájlt a fájlban Notepad.exe myfile.txt.
Note
A fájlnévnek egy végrehajtható fájlt kell jelölnie azokban a Start túlterhelésekben, amelyek userNamerendelkeznek , passwordés domain paraméterekkel.
Amikor egy folyamat elindításához használja Start , előfordulhat, hogy be kell zárnia, vagy meg kell kockáztatnia a rendszer erőforrásainak elvesztését. Zárja be a folyamatokat a vagy CloseMainWindowa .Kill A tulajdonság használatával HasExited ellenőrizheti, hogy egy folyamat már lezárult-e.
A következőre érvényes:
Start(String, String, String, SecureString, String)
- Forrás:
- Process.Unix.cs
- Forrás:
- Process.Unix.cs
- Forrás:
- Process.Unix.cs
- Forrás:
- Process.Unix.cs
- Forrás:
- Process.Unix.cs
Fontos
Ez az API nem CLS-kompatibilis.
Elindít egy folyamaterőforrást az alkalmazás nevének, egy parancssori argumentumkészletnek, egy felhasználónévnek, egy jelszónak és egy tartománynak a megadásával, és társítja az erőforrást egy új Process összetevővel.
public:
static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::String ^ arguments, System::String ^ userName, System::Security::SecureString ^ password, System::String ^ domain);
[System.CLSCompliant(false)]
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static System.Diagnostics.Process? Start(string fileName, string arguments, string userName, System.Security.SecureString password, string domain);
[System.CLSCompliant(false)]
public static System.Diagnostics.Process Start(string fileName, string arguments, string userName, System.Security.SecureString password, string domain);
public static System.Diagnostics.Process Start(string fileName, string arguments, string userName, System.Security.SecureString password, string domain);
[<System.CLSCompliant(false)>]
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Start : string * string * string * System.Security.SecureString * string -> System.Diagnostics.Process
[<System.CLSCompliant(false)>]
static member Start : string * string * string * System.Security.SecureString * string -> System.Diagnostics.Process
static member Start : string * string * string * System.Security.SecureString * string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, arguments As String, userName As String, password As SecureString, domain As String) As Process
Paraméterek
- fileName
- String
A folyamatban futtatandó alkalmazásfájl neve.
- arguments
- String
A folyamat indításakor átadandó parancssori argumentumok.
- userName
- String
A folyamat indításakor használandó felhasználónév.
- password
- SecureString
A SecureString folyamat indításakor használandó jelszót tartalmazó jelszó.
- domain
- String
A folyamat indításakor használni kívánt tartomány.
Válaszok
A folyamaterőforráshoz társított új Process , vagy null ha nem indul el folyamaterőforrás. Vegye figyelembe, hogy egy új folyamat, amely ugyanannak a folyamatnak a már futó példányai mellett indult el, független lesz a többitől. Emellett a Start egy nem null értékű folyamatot is visszaadhat, amelynek tulajdonsága HasExited már be van állítva true. Ebben az esetben előfordulhat, hogy az elindított folyamat aktivált egy meglévő példányt, majd kilépett.
- Attribútumok
Kivételek
Nincs megadva fájlnév.
Hiba történt a társított fájl megnyitásakor.
-vagy-
A megadott fileName fájl nem található.
-vagy-
Az argumentumok hossza és a társított fájl teljes elérési útjának hossza meghaladja a 2080-at. A kivételhez társított hibaüzenet a következő lehet: "A rendszerhívásnak átadott adatterület túl kicsi", vagy "A hozzáférés megtagadva".
A folyamatobjektum már el lett adva.
Ez a tag linuxos vagy macOS rendszeren nem támogatott (csak .NET Core esetén).
Megjegyzések
Ezzel a túlterheléssel létrehozhat egy új folyamatot és annak elsődleges szálát a fájlnév, a parancssori argumentumok, a felhasználónév, a jelszó és a tartomány megadásával. Az új folyamat ezután a megadott hitelesítő adatok (felhasználó, tartomány és jelszó) biztonsági környezetében futtatja a megadott végrehajtható fájlt.
Important
A metódus nem megbízható adatokkal való meghívása biztonsági kockázatot jelent. Ezt a metódust csak megbízható adatokkal hívhatja meg. További információ: Minden bemenet ellenőrzése.
Note
Ha a végrehajtható fájl egy távoli meghajtón található, a hálózati megosztást egységes erőforrás-azonosítóval (URI) kell azonosítania, nem csatolt meghajtóbetűjellel.
Note
Ha a elindítandó végrehajtható fájl címe EGY URL-cím, a folyamat nem indul el, és null a rendszer visszaadja.
Ez a túlterhelés lehetővé teszi, hogy új példány létrehozása nélkül elindítsa a Process folyamatot. A túlterhelés alternatívát jelent az új Process példány létrehozásának explicit lépéseire, a FileNametulajdonság, Argumentsa , UserName, Password, és Domain tulajdonságok StartInfo beállítására és a Start példány meghívásáraProcess.
Hasonlóképpen, ahogyan a Futtatás párbeszédpanel képes elfogadni egy végrehajtható fájlnevet a .exe kiterjesztéssel vagy anélkül, a .exe bővítmény nem kötelező a fileName paraméterben. Beállíthatja például a fileName paramétert "Notepad.exe" vagy "Jegyzettömb" értékre. Ha a fileName paraméter végrehajtható fájlt jelöl, a arguments paraméter egy végrehajtandó fájlt jelölhet, például a szövegfájlt a fájlban Notepad.exe myfile.txt.
Note
A fájlnévnek egy végrehajtható fájlt kell jelölnie azokban a Start túlterhelésekben, amelyek userNamerendelkeznek , passwordés domain paraméterekkel.
Amikor egy folyamat elindításához használja Start , előfordulhat, hogy be kell zárnia, vagy meg kell kockáztatnia a rendszer erőforrásainak elvesztését. Zárja be a folyamatokat a vagy CloseMainWindowa .Kill A tulajdonság használatával HasExited ellenőrizheti, hogy egy folyamat már lezárult-e.
A következőre érvényes:
Start(String, String)
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
Elindít egy folyamaterőforrást egy alkalmazás nevének és egy parancssori argumentumkészletnek a megadásával, és társítja az erőforrást egy új Process összetevővel.
public:
static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::String ^ arguments);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName, string arguments);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName, string? arguments);
public static System.Diagnostics.Process Start(string fileName, string arguments);
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName, string arguments);
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string * string -> System.Diagnostics.Process
static member Start : string * string -> System.Diagnostics.Process
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string * string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, arguments As String) As Process
Paraméterek
- fileName
- String
A folyamatban futtatandó alkalmazásfájl neve.
- arguments
- String
A folyamat indításakor átadandó parancssori argumentumok.
Válaszok
A folyamaterőforráshoz társított új Process , vagy null ha nem indul el folyamaterőforrás. Vegye figyelembe, hogy egy új folyamat, amely ugyanannak a folyamatnak a már futó példányai mellett indult el, független lesz a többitől. Emellett a Start egy nem null értékű folyamatot is visszaadhat, amelynek tulajdonsága HasExited már be van állítva true. Ebben az esetben előfordulhat, hogy az elindított folyamat aktivált egy meglévő példányt, majd kilépett.
- Attribútumok
Kivételek
A fileName vagy arguments paraméter a következő null: .
Hiba történt a társított fájl megnyitásakor.
-vagy-
A megadott fileName fájl nem található.
-vagy-
Az argumentumok hosszának és a folyamat teljes elérési útjának hossza meghaladja a 2080-at. A kivételhez társított hibaüzenet a következő lehet: "A rendszerhívásnak átadott adatterület túl kicsi", vagy "A hozzáférés megtagadva".
A folyamatobjektum már el lett adva.
A PATH környezeti változó idézőjeleket tartalmazó sztringet tartalmaz.
Példák
Az alábbi példa először a Internet Explorer egy példányát jeleníti meg, és megjeleníti a Kedvencek mappa tartalmát a böngészőben. Ezután elindít néhány más Internet Explorer-példányt, és megjelenít néhány konkrét oldalt vagy webhelyet. Végül elindul Internet Explorer az ablak minimalizálásával, miközben egy adott helyre navigál.
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();
}
}
}
module processstartstatic
open System
open System.Diagnostics
// Opens the Internet Explorer application.
let openApplication (myFavoritesPath: string) =
// Start Internet Explorer. Defaults to the home page.
Process.Start "IExplore.exe" |> ignore
// Display the contents of the favorites folder in the browser.
Process.Start myFavoritesPath |> ignore
// Opens urls and .html documents using Internet Explorer.
let openWithArguments () =
// url's are not considered documents. They can only be opened
// by passing them as arguments.
Process.Start("IExplore.exe", "www.northwindtraders.com") |> ignore
// Start a Web page using a browser associated with .html and .asp files.
Process.Start("IExplore.exe", @"C:\myPath\myFile.htm") |> ignore
Process.Start("IExplore.exe", @"C:\myPath\myFile.asp") |> ignore
// Uses the ProcessStartInfo class to start new processes,
// both in a minimized mode.
let openWithStartInfo () =
let startInfo = ProcessStartInfo "IExplore.exe"
startInfo.WindowStyle <- ProcessWindowStyle.Minimized
Process.Start startInfo |> ignore
startInfo.Arguments <- "www.northwindtraders.com"
Process.Start startInfo |> ignore
// Get the path that stores favorite links.
let myFavoritesPath = Environment.GetFolderPath Environment.SpecialFolder.Favorites
openApplication myFavoritesPath
openWithArguments ()
openWithStartInfo ()
Imports System.Diagnostics
Imports System.ComponentModel
Namespace MyProcessSample
Class MyProcess
' Opens the Internet Explorer application.
Public Sub OpenApplication(myFavoritesPath As String)
' 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)
End Sub
' Opens URLs and .html documents using Internet Explorer.
Sub OpenWithArguments()
' URLs 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")
End Sub
' Uses the ProcessStartInfo class to start new processes,
' both in a minimized mode.
Sub OpenWithStartInfo()
Dim startInfo As New ProcessStartInfo("IExplore.exe")
startInfo.WindowStyle = ProcessWindowStyle.Minimized
Process.Start(startInfo)
startInfo.Arguments = "www.northwindtraders.com"
Process.Start(startInfo)
End Sub
Shared Sub Main()
' Get the path that stores favorite links.
Dim myFavoritesPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Favorites)
Dim myProcess As New MyProcess()
myProcess.OpenApplication(myFavoritesPath)
myProcess.OpenWithArguments()
myProcess.OpenWithStartInfo()
End Sub
End Class
End Namespace 'MyProcessSample
Megjegyzések
Ezzel a túlterheléssel elindíthat egy folyamaterőforrást a fájlnév és a parancssori argumentumok megadásával. A túlterhelés egy új Process objektumhoz társítja az erőforrást.
Important
A metódus nem megbízható adatokkal való meghívása biztonsági kockázatot jelent. Ezt a metódust csak megbízható adatokkal hívhatja meg. További információ: Minden bemenet ellenőrzése.
Note
Ha a elindítandó végrehajtható fájl címe EGY URL-cím, a folyamat nem indul el, és null a rendszer visszaadja.
Ez a túlterhelés lehetővé teszi, hogy új példány létrehozása nélkül elindítsa a Process folyamatot. A túlterhelés alternatíva az új Process példány létrehozásának, a tulajdonság és FileName a Arguments tagok beállításának és a StartInfo példány meghívásának StartProcess explicit lépéseinek.
A folyamat indítása a fájlnév és az argumentumok megadásával hasonló a fájlnév és a parancssori argumentumok beírásához a Windows Run menü Start párbeszédpanelén. Ezért a fájlnévnek nem kell végrehajtható fájlt jelölnie. Bármilyen fájltípust tartalmazhat, amelyhez a bővítmény a rendszeren telepített alkalmazáshoz van társítva. A fájlnév például .txt kiterjesztéssel rendelkezhet, ha szövegfájlokat társított egy szerkesztőhöz, például a Jegyzettömbhöz, vagy .doc, ha .doc fájlokat társított egy szövegszerkesztő eszközhöz, például Microsoft Word. Hasonlóképpen, ahogyan a Run párbeszédpanel képes elfogadni egy végrehajtható fájlnevet a .exe kiterjesztéssel vagy anélkül, a .exe bővítmény nem kötelező a fileName paraméterben. Beállíthatja például a fileName paramétert "Notepad.exe" vagy "Jegyzettömb" értékre. Ha a fileName paraméter végrehajtható fájlt jelöl, a arguments paraméter egy végrehajtandó fájlt jelölhet, például a szövegfájlt a fájlban Notepad.exe myfile.txt. Ha a fileName paraméter egy parancsfájlt (.cmd) jelöl, a arguments paraméternek tartalmaznia kell egy "/c" vagy "/k" argumentumot annak megadásához, hogy a parancsablak kilép-e vagy a befejezés után is megmarad.
A többi túlterheléstől eltérően annak túlterhelése Start , amelynek nincsenek paraméterei, nem static tag. Ezt a túlterhelést akkor használja, ha már létrehozott egy példányt Process és megadott indítási adatokat (beleértve a fájlnevet), és egy folyamaterőforrást szeretne elindítani, és társítani a meglévő Process példányhoz. Használja az static egyik túlterhelést, ha új Process összetevőt szeretne létrehozni, nem pedig egy meglévő összetevő folyamatának elindítását. Ez a túlterhelés és a paraméterek nélküli túlterhelés lehetővé teszi a folyamaterőforrás fájlnevének megadását és a parancssori argumentumok átadását.
Ha a rendszerben idézőjelek használatával deklarált egy elérési útváltozót, akkor az adott helyen található folyamatok indításakor teljes mértékben meg kell jelölnie ezt az elérési utat. Ellenkező esetben a rendszer nem találja az elérési utat. Ha például c:\mypath nem szerepel az elérési úton, és idézőjelek használatával adja hozzá: path = %path%;"c:\mypath"az indításkor minden folyamatot teljes mértékben minősíteni c:\mypath kell.
Note
ASP.NET weblap- és kiszolgálóvezérlő kód a webkiszolgáló ASP.NET feldolgozói folyamatának kontextusában fut. Ha a Start metódust használja egy ASP.NET weblapon vagy kiszolgálóvezérlőben, az új folyamat korlátozott engedélyekkel fut a webkiszolgálón. A folyamat nem ugyanabban a környezetben indul el, mint az ügyfélböngésző, és nincs hozzáférése a felhasználói asztalhoz.
Amikor egy folyamat elindításához használja Start , előfordulhat, hogy be kell zárnia, vagy meg kell kockáztatnia a rendszer erőforrásainak elvesztését. Zárja be a folyamatokat a vagy CloseMainWindowa .Kill A tulajdonság használatával HasExited ellenőrizheti, hogy egy folyamat már lezárult-e.
Itt a felügyelt szálak lakásállapotairól szóló megjegyzésre van szükség. Ha UseShellExecute a folyamatösszetevő tulajdonságán true vanStartInfo, a metódus attribútumának [STAThread] beállításával győződjön meg arról, hogy beállított egy szálmodellt az main() alkalmazásban. Ellenkező esetben a felügyelt szálak lehetnek állapotban unknown vagy állapotban MTA lehetnek, amelyek közül az utóbbi ütközik az állapottal UseShellExecutetrue. Egyes módszerek megkövetelik, hogy a lakás állapota ne legyen unknown. Ha az állapot nincs explicit módon beállítva, amikor az alkalmazás ilyen módszerrel találkozik, alapértelmezés szerint MTAa lakás állapota nem módosítható. A rendszer azonban kivételt okoz, MTA ha az operációs rendszerhéj kezeli a szálat.
Lásd még
A következőre érvényes:
Start(ProcessStartInfo)
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
Elindítja a folyamatindítási adatokat tartalmazó paraméter által megadott folyamaterőforrást (például az elindítandó folyamat fájlnevét), és társítja az erőforrást egy új Process összetevővel.
public:
static System::Diagnostics::Process ^ Start(System::Diagnostics::ProcessStartInfo ^ startInfo);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process? Start(System.Diagnostics.ProcessStartInfo startInfo);
public static System.Diagnostics.Process? Start(System.Diagnostics.ProcessStartInfo startInfo);
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process? Start(System.Diagnostics.ProcessStartInfo startInfo);
public static System.Diagnostics.Process Start(System.Diagnostics.ProcessStartInfo startInfo);
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : System.Diagnostics.ProcessStartInfo -> System.Diagnostics.Process
static member Start : System.Diagnostics.ProcessStartInfo -> System.Diagnostics.Process
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : System.Diagnostics.ProcessStartInfo -> System.Diagnostics.Process
Public Shared Function Start (startInfo As ProcessStartInfo) As Process
Paraméterek
- startInfo
- ProcessStartInfo
Ez ProcessStartInfo tartalmazza a folyamat elindításához használt információkat, beleértve a fájlnevet és a parancssori argumentumokat.
Válaszok
A folyamaterőforráshoz társított új Process , vagy null ha nem indul el folyamaterőforrás. Vegye figyelembe, hogy egy új folyamat, amely ugyanannak a folyamatnak a már futó példányai mellett indult el, független lesz a többitől. Emellett a Start egy nem null értékű folyamatot is visszaadhat, amelynek tulajdonsága HasExited már be van állítva true. Ebben az esetben előfordulhat, hogy az elindított folyamat aktivált egy meglévő példányt, majd kilépett.
- Attribútumok
Kivételek
A paraméter startInfo tulajdonságában FileName nincs megadva fájlnév.
-vagy-
A UseShellExecute paraméter tulajdonsága startInfo és true az RedirectStandardInput, RedirectStandardOutputvagy RedirectStandardError tulajdonság is true.
-vagy-
A UseShellExecute paraméter tulajdonsága startInfo , true és a UserName tulajdonság nem vagy üres null , vagy a Password tulajdonság nem null.
A startInfo paraméter a következő null: .
A folyamatobjektum már el lett adva.
Hiba történt a társított fájl megnyitásakor.
-vagy-
A paraméter startInfo tulajdonságában FileName megadott fájl nem található.
-vagy-
Az argumentumok hosszának és a folyamat teljes elérési útjának hossza meghaladja a 2080-at. A kivételhez társított hibaüzenet a következő lehet: "A rendszerhívásnak átadott adatterület túl kicsi", vagy "A hozzáférés megtagadva".
A metódus nem támogatott olyan operációs rendszereken, mint például a Nano Server (csak a .NET Core).
Példák
Az alábbi példa először a Internet Explorer egy példányát jeleníti meg, és megjeleníti a Kedvencek mappa tartalmát a böngészőben. Ezután elindít néhány más Internet Explorer-példányt, és megjelenít néhány konkrét oldalt vagy webhelyet. Végül elindul Internet Explorer az ablak minimalizálásával, miközben egy adott helyre navigál.
A metódus egyéb felhasználási módjaira vonatkozó további példákért tekintse meg az ProcessStartInfo osztály egyedi tulajdonságait.
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();
}
}
}
module processstartstatic
open System
open System.Diagnostics
// Opens the Internet Explorer application.
let openApplication (myFavoritesPath: string) =
// Start Internet Explorer. Defaults to the home page.
Process.Start "IExplore.exe" |> ignore
// Display the contents of the favorites folder in the browser.
Process.Start myFavoritesPath |> ignore
// Opens urls and .html documents using Internet Explorer.
let openWithArguments () =
// url's are not considered documents. They can only be opened
// by passing them as arguments.
Process.Start("IExplore.exe", "www.northwindtraders.com") |> ignore
// Start a Web page using a browser associated with .html and .asp files.
Process.Start("IExplore.exe", @"C:\myPath\myFile.htm") |> ignore
Process.Start("IExplore.exe", @"C:\myPath\myFile.asp") |> ignore
// Uses the ProcessStartInfo class to start new processes,
// both in a minimized mode.
let openWithStartInfo () =
let startInfo = ProcessStartInfo "IExplore.exe"
startInfo.WindowStyle <- ProcessWindowStyle.Minimized
Process.Start startInfo |> ignore
startInfo.Arguments <- "www.northwindtraders.com"
Process.Start startInfo |> ignore
// Get the path that stores favorite links.
let myFavoritesPath = Environment.GetFolderPath Environment.SpecialFolder.Favorites
openApplication myFavoritesPath
openWithArguments ()
openWithStartInfo ()
Imports System.Diagnostics
Imports System.ComponentModel
Namespace MyProcessSample
Class MyProcess
' Opens the Internet Explorer application.
Public Sub OpenApplication(myFavoritesPath As String)
' 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)
End Sub
' Opens URLs and .html documents using Internet Explorer.
Sub OpenWithArguments()
' URLs 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")
End Sub
' Uses the ProcessStartInfo class to start new processes,
' both in a minimized mode.
Sub OpenWithStartInfo()
Dim startInfo As New ProcessStartInfo("IExplore.exe")
startInfo.WindowStyle = ProcessWindowStyle.Minimized
Process.Start(startInfo)
startInfo.Arguments = "www.northwindtraders.com"
Process.Start(startInfo)
End Sub
Shared Sub Main()
' Get the path that stores favorite links.
Dim myFavoritesPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Favorites)
Dim myProcess As New MyProcess()
myProcess.OpenApplication(myFavoritesPath)
myProcess.OpenWithArguments()
myProcess.OpenWithStartInfo()
End Sub
End Class
End Namespace 'MyProcessSample
Megjegyzések
Ezzel a túlterheléssel elindíthat egy folyamaterőforrást egy ProcessStartInfo példány megadásával. A túlterhelés egy új Process objektumhoz társítja az erőforrást.
Important
A metódus nem megbízható adatokkal való meghívása biztonsági kockázatot jelent. Ezt a metódust csak megbízható adatokkal hívhatja meg. További információ: Minden bemenet ellenőrzése.
Note
Ha a elindítandó végrehajtható fájl címe EGY URL-cím, a folyamat nem indul el, és null a rendszer visszaadja.
Ez a túlterhelés lehetővé teszi, hogy új példány létrehozása nélkül elindítsa a Process folyamatot. A túlterhelés paraméterrel való ProcessStartInfo használata alternatíva az új Process példány létrehozásának, tulajdonságainak beállításának StartInfo és a Start példány meghívásának Process explicit lépéseinek.
Ha paraméterként használ egy példányt ProcessStartInfo , azzal a legnagyobb mértékben szabályozhatja Start , hogy mi kerül a hívásba a folyamat elindításához. Ha csak egy fájlnevet vagy egy fájlnevet és argumentumot kell átadnia, nem szükséges új ProcessStartInfo példányt létrehoznia, bár ez egy lehetőség. Az egyetlen Process.StartInfo tulajdonság, amelyet be kell állítani, a FileName tulajdonság. A FileName tulajdonságnak nem kell végrehajtható fájlt jelölnie. Bármilyen fájltípushoz tartozhat, amelyhez a bővítmény a rendszeren telepített alkalmazáshoz van társítva. A FileName tulajdonság például .txt kiterjesztéssel rendelkezhet, ha szövegfájlokat társított egy szerkesztőhöz, például a Jegyzettömbhöz, vagy .doc kiterjesztéssel is rendelkezhet, ha .doc fájlokat társított egy szövegszerkesztő eszközzel, például Microsoft Word.
A ClickOnce-alkalmazás elindításához meg kell adnia azt a helyet (például egy webcímet), amelyről eredetileg telepítette az alkalmazást. Ne indítsa el a ClickOnce-alkalmazást úgy, hogy megadja annak telepített helyét a merevlemezen.
Ha a ProcessStartInfo.UserName példány és ProcessStartInfo.Password a StartInfo tulajdonságok be vannak állítva, a rendszer meghívja a nem felügyelt függvénytCreateProcessWithLogonW, amely akkor is elindítja a folyamatot egy új ablakban, ha a ProcessStartInfo.CreateNoWindow tulajdonság értéke vagy true a ProcessStartInfo.WindowStyle tulajdonság értéke.ProcessWindowStyle.Hidden Ha a ProcessStartInfo.Domain tulajdonság az null, a ProcessStartInfo.UserName tulajdonságnak UPN formátumban kell lennie, a felhasználónak@DNS_domain_name.
A többi túlterheléstől eltérően annak túlterhelése Start , amelynek nincsenek paraméterei, nem static tag. Ezt a túlterhelést akkor használja, ha már létrehozott egy példányt Process és megadott indítási adatokat (beleértve a fájlnevet), és egy folyamaterőforrást szeretne elindítani, és társítani a meglévő Process példányhoz. Használja az static egyik túlterhelést, ha új Process összetevőt szeretne létrehozni, nem pedig egy meglévő összetevő folyamatának elindítását. Ez a túlterhelés és a paraméterek nélküli túlterhelés lehetővé teszi a folyamaterőforrás kezdő információinak megadását egy ProcessStartInfo példány használatával.
Ha a rendszerben idézőjelek használatával deklarált egy elérési útváltozót, akkor az adott helyen található folyamatok indításakor teljes mértékben meg kell jelölnie ezt az elérési utat. Ellenkező esetben a rendszer nem találja az elérési utat. Ha például c:\mypath nem szerepel az elérési úton, és idézőjelek használatával adja hozzá: path = %path%;"c:\mypath"az indításkor minden folyamatot teljes mértékben minősíteni c:\mypath kell.
Note
ASP.NET weblap- és kiszolgálóvezérlő kód a webkiszolgáló ASP.NET feldolgozói folyamatának kontextusában fut. Ha a Start metódust használja egy ASP.NET weblapon vagy kiszolgálóvezérlőben, az új folyamat korlátozott engedélyekkel fut a webkiszolgálón. A folyamat nem ugyanabban a környezetben indul el, mint az ügyfélböngésző, és nincs hozzáférése a felhasználói asztalhoz.
Amikor egy folyamat elindításához használja Start , előfordulhat, hogy be kell zárnia, vagy meg kell kockáztatnia a rendszer erőforrásainak elvesztését. Zárja be a folyamatokat a vagy CloseMainWindowa .Kill A tulajdonság használatával HasExited ellenőrizheti, hogy egy folyamat már lezárult-e.
Itt a felügyelt szálak lakásállapotairól szóló megjegyzésre van szükség. Ha UseShellExecute a true paraméteren vanstartInfo, győződjön meg arról, hogy beállított egy szálmodellt az alkalmazásban az attribútum [STAThread] metóduson való main() beállításával. Ellenkező esetben a felügyelt szálak lehetnek állapotban unknown vagy állapotban MTA lehetnek, amelyek közül az utóbbi ütközik az állapottal UseShellExecutetrue. Egyes módszerek megkövetelik, hogy a lakás állapota ne legyen unknown. Ha az állapot nincs explicit módon beállítva, amikor az alkalmazás ilyen módszerrel találkozik, alapértelmezés szerint MTAa lakás állapota nem módosítható. A rendszer azonban kivételt okoz, MTA ha az operációs rendszerhéj kezeli a szálat.
Lásd még
A következőre érvényes:
Start(String)
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
Elindít egy folyamaterőforrást egy dokumentum vagy alkalmazásfájl nevének megadásával, és társítja az erőforrást egy új Process összetevővel.
public:
static System::Diagnostics::Process ^ Start(System::String ^ fileName);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName);
public static System.Diagnostics.Process Start(string fileName);
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName);
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string -> System.Diagnostics.Process
static member Start : string -> System.Diagnostics.Process
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string -> System.Diagnostics.Process
Public Shared Function Start (fileName As String) As Process
Paraméterek
- fileName
- String
A folyamatban futtatandó dokumentum vagy alkalmazásfájl neve.
Válaszok
A folyamaterőforráshoz társított új Process , vagy null ha nem indul el folyamaterőforrás. Vegye figyelembe, hogy egy új folyamat, amely ugyanannak a folyamatnak a már futó példányai mellett indult el, független lesz a többitől. Emellett a Start egy nem null értékű folyamatot is visszaadhat, amelynek tulajdonsága HasExited már be van állítva true. Ebben az esetben előfordulhat, hogy az elindított folyamat aktivált egy meglévő példányt, majd kilépett.
- Attribútumok
Kivételek
Hiba történt a társított fájl megnyitásakor.
-vagy-
A megadott fileName fájl nem található.
A folyamatobjektum már el lett adva.
A PATH környezeti változó idézőjeleket tartalmazó sztringet tartalmaz.
Példák
Az alábbi példa először a Internet Explorer egy példányát jeleníti meg, és megjeleníti a Kedvencek mappa tartalmát a böngészőben. Ezután elindít néhány más Internet Explorer-példányt, és megjelenít néhány konkrét oldalt vagy webhelyet. Végül elindul Internet Explorer az ablak minimalizálásával, miközben egy adott helyre navigál.
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();
}
}
}
module processstartstatic
open System
open System.Diagnostics
// Opens the Internet Explorer application.
let openApplication (myFavoritesPath: string) =
// Start Internet Explorer. Defaults to the home page.
Process.Start "IExplore.exe" |> ignore
// Display the contents of the favorites folder in the browser.
Process.Start myFavoritesPath |> ignore
// Opens urls and .html documents using Internet Explorer.
let openWithArguments () =
// url's are not considered documents. They can only be opened
// by passing them as arguments.
Process.Start("IExplore.exe", "www.northwindtraders.com") |> ignore
// Start a Web page using a browser associated with .html and .asp files.
Process.Start("IExplore.exe", @"C:\myPath\myFile.htm") |> ignore
Process.Start("IExplore.exe", @"C:\myPath\myFile.asp") |> ignore
// Uses the ProcessStartInfo class to start new processes,
// both in a minimized mode.
let openWithStartInfo () =
let startInfo = ProcessStartInfo "IExplore.exe"
startInfo.WindowStyle <- ProcessWindowStyle.Minimized
Process.Start startInfo |> ignore
startInfo.Arguments <- "www.northwindtraders.com"
Process.Start startInfo |> ignore
// Get the path that stores favorite links.
let myFavoritesPath = Environment.GetFolderPath Environment.SpecialFolder.Favorites
openApplication myFavoritesPath
openWithArguments ()
openWithStartInfo ()
Imports System.Diagnostics
Imports System.ComponentModel
Namespace MyProcessSample
Class MyProcess
' Opens the Internet Explorer application.
Public Sub OpenApplication(myFavoritesPath As String)
' 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)
End Sub
' Opens URLs and .html documents using Internet Explorer.
Sub OpenWithArguments()
' URLs 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")
End Sub
' Uses the ProcessStartInfo class to start new processes,
' both in a minimized mode.
Sub OpenWithStartInfo()
Dim startInfo As New ProcessStartInfo("IExplore.exe")
startInfo.WindowStyle = ProcessWindowStyle.Minimized
Process.Start(startInfo)
startInfo.Arguments = "www.northwindtraders.com"
Process.Start(startInfo)
End Sub
Shared Sub Main()
' Get the path that stores favorite links.
Dim myFavoritesPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Favorites)
Dim myProcess As New MyProcess()
myProcess.OpenApplication(myFavoritesPath)
myProcess.OpenWithArguments()
myProcess.OpenWithStartInfo()
End Sub
End Class
End Namespace 'MyProcessSample
Megjegyzések
Ezzel a túlterheléssel elindíthat egy folyamaterőforrást a fájlnév megadásával. A túlterhelés egy új Process objektumhoz társítja az erőforrást.
Important
A metódus nem megbízható adatokkal való meghívása biztonsági kockázatot jelent. Ezt a metódust csak megbízható adatokkal hívhatja meg. További információ: Minden bemenet ellenőrzése.
Note
Ha a elindítandó végrehajtható fájl címe EGY URL-cím, a folyamat nem indul el, és null a rendszer visszaadja.
Ez a túlterhelés lehetővé teszi, hogy új példány létrehozása nélkül elindítsa a Process folyamatot. A túlterhelés alternatíva az új Process példány létrehozásának, a FileName tulajdonság tagjának beállításának és a StartInfo példány meghívásának StartProcess explicit lépéseinek.
A ClickOnce-alkalmazás elindításához állítsa a fileName paramétert arra a helyre (például egy webcímre), ahonnan eredetileg telepítette az alkalmazást. Ne indítsa el a ClickOnce-alkalmazást úgy, hogy megadja annak telepített helyét a merevlemezen.
A folyamat indítása a fájlnév megadásával hasonló ahhoz, hogy beírja az adatokat a Windows Run menü Start párbeszédpaneljén. Ezért a fájlnévnek nem kell végrehajtható fájlt jelölnie. Bármilyen fájltípust tartalmazhat, amelyhez a bővítmény a rendszeren telepített alkalmazáshoz van társítva. A fájlnév például .txt kiterjesztéssel rendelkezhet, ha szövegfájlokat társított egy szerkesztőhöz, például a Jegyzettömbhöz, vagy .doc, ha .doc fájlokat társított egy szövegszerkesztő eszközhöz, például Microsoft Word. Hasonlóképpen, ahogyan a Run párbeszédpanel képes elfogadni egy végrehajtható fájlnevet a .exe kiterjesztéssel vagy anélkül, a .exe bővítmény nem kötelező a fileName paraméterben. Beállíthatja például a fileName paramétert "Notepad.exe" vagy "Jegyzettömb" értékre.
Ez a túlterhelés nem teszi lehetővé a folyamat parancssori argumentumait. Ha egy vagy több parancssori argumentumot kell megadnia a folyamathoz, használja a Process.Start(ProcessStartInfo) túlterheléseket.Process.Start(String, String)
A többi túlterheléstől eltérően annak túlterhelése Start , amelynek nincsenek paraméterei, nem static tag. Ezt a túlterhelést akkor használja, ha már létrehozott egy példányt Process és megadott indítási adatokat (beleértve a fájlnevet), és egy folyamaterőforrást szeretne elindítani, és társítani a meglévő Process példányhoz. Használja az static egyik túlterhelést, ha új Process összetevőt szeretne létrehozni, nem pedig egy meglévő összetevő folyamatának elindítását. Mind a túlterhelés, mind a paraméterek nélküli túlterhelés lehetővé teszi a elindítandó folyamaterőforrás fájlnevének megadását.
Ha a rendszerben idézőjelek használatával deklarált egy elérési útváltozót, akkor az adott helyen található folyamatok indításakor teljes mértékben meg kell jelölnie ezt az elérési utat. Ellenkező esetben a rendszer nem találja az elérési utat. Ha például c:\mypath nem szerepel az elérési úton, és idézőjelek használatával adja hozzá: path = %path%;"c:\mypath"az indításkor minden folyamatot teljes mértékben minősíteni c:\mypath kell.
Note
ASP.NET weblap- és kiszolgálóvezérlő kód a webkiszolgáló ASP.NET feldolgozói folyamatának kontextusában fut. Ha a Start metódust használja egy ASP.NET weblapon vagy kiszolgálóvezérlőben, az új folyamat korlátozott engedélyekkel fut a webkiszolgálón. A folyamat nem ugyanabban a környezetben indul el, mint az ügyfélböngésző, és nincs hozzáférése a felhasználói asztalhoz.
Amikor egy folyamat elindításához használja Start , előfordulhat, hogy be kell zárnia, vagy meg kell kockáztatnia a rendszer erőforrásainak elvesztését. Zárja be a folyamatokat a vagy CloseMainWindowa .Kill A tulajdonság használatával HasExited ellenőrizheti, hogy egy folyamat már lezárult-e.
Itt a felügyelt szálak lakásállapotairól szóló megjegyzésre van szükség. Ha UseShellExecute a folyamatösszetevő tulajdonságán true vanStartInfo, a metódus attribútumának [STAThread] beállításával győződjön meg arról, hogy beállított egy szálmodellt az main() alkalmazásban. Ellenkező esetben a felügyelt szálak lehetnek állapotban unknown vagy állapotban MTA lehetnek, amelyek közül az utóbbi ütközik az állapottal UseShellExecutetrue. Egyes módszerek megkövetelik, hogy a lakás állapota ne legyen unknown. Ha az állapot nincs explicit módon beállítva, amikor az alkalmazás ilyen módszerrel találkozik, alapértelmezés szerint MTAa lakás állapota nem módosítható. A rendszer azonban kivételt okoz, MTA ha az operációs rendszerhéj kezeli a szálat.
Lásd még
A következőre érvényes:
Start(String, IEnumerable<String>)
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
Elindít egy folyamaterőforrást egy alkalmazás nevének és egy parancssori argumentumkészletnek a megadásával.
public:
static System::Diagnostics::Process ^ Start(System::String ^ fileName, System::Collections::Generic::IEnumerable<System::String ^> ^ arguments);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName, System.Collections.Generic.IEnumerable<string> arguments);
public static System.Diagnostics.Process Start(string fileName, System.Collections.Generic.IEnumerable<string> arguments);
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process Start(string fileName, System.Collections.Generic.IEnumerable<string> arguments);
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string * seq<string> -> System.Diagnostics.Process
static member Start : string * seq<string> -> System.Diagnostics.Process
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member Start : string * seq<string> -> System.Diagnostics.Process
Public Shared Function Start (fileName As String, arguments As IEnumerable(Of String)) As Process
Paraméterek
- fileName
- String
A folyamatban futtatandó dokumentum vagy alkalmazásfájl neve.
- arguments
- IEnumerable<String>
A folyamat indításakor átadandó parancssori argumentumok.
Válaszok
A folyamaterőforráshoz társított új Process , vagy null ha nem indul el folyamaterőforrás.
- Attribútumok
Megjegyzések
Szükség esetén a rendszer minden argumentumot automatikusan megszűn.
Important
A metódus nem megbízható adatokkal való meghívása biztonsági kockázatot jelent. Ezt a metódust csak megbízható adatokkal hívhatja meg. További információ: Minden bemenet ellenőrzése.
A következőre érvényes:
Start()
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
- Forrás:
- Process.cs
public:
bool Start();
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public bool Start();
public bool Start();
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public bool Start();
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Start : unit -> bool
member this.Start : unit -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Start : unit -> bool
Public Function Start () As Boolean
Válaszok
true folyamaterőforrás indításakor; false ha nem indul el új folyamaterőforrás (például egy meglévő folyamat újrafelhasználása esetén).
- Attribútumok
Kivételek
Nincs megadva fájlnév az Process összetevőben StartInfo.
-vagy-
A UseShellExecute tulajdonság StartInfo tagja true az RedirectStandardInput, RedirectStandardOutputvagy RedirectStandardError az true.
Hiba történt a társított fájl megnyitásakor.
A folyamatobjektum már el lett adva.
A metódus nem támogatott olyan operációs rendszereken, mint például a Nano Server (csak a .NET Core).
Példák
Az alábbi példa az Process osztály egy példányát használja a folyamat elindításához.
using System;
using System.Diagnostics;
using System.ComponentModel;
namespace MyProcessSample
{
class MyProcess
{
public static void Main()
{
try
{
using (Process myProcess = new Process())
{
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 it 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);
}
}
}
}
open System.Diagnostics
try
use myProcess = new Process()
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() |> ignore
// This code assumes the process you are starting will terminate itself.
// Given that it 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.
with e ->
printfn $"{e.Message}"
Imports System.Diagnostics
Imports System.ComponentModel
Namespace MyProcessSample
Class MyProcess
Public Shared Sub Main()
Try
Using myProcess As New Process()
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 it 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.
End Using
Catch e As Exception
Console.WriteLine((e.Message))
End Try
End Sub
End Class
End Namespace
Megjegyzések
Ezzel a túlterheléssel elindíthat egy folyamaterőforrást, és társíthatja az aktuális Process összetevővel. A visszatérési érték true azt jelzi, hogy egy új folyamaterőforrás indult el. Ha a tulajdonság tagja FileName által StartInfo megadott folyamaterőforrás már fut a számítógépen, nem indul el további folyamaterőforrás. Ehelyett a futó folyamat erőforrását újra felhasználja a rendszer, és false visszaadja.
A ClickOnce-alkalmazás elindításához meg kell adnia azt a helyet (például egy webcímet), amelyről eredetileg telepítette az alkalmazást. Ne indítsa el a ClickOnce-alkalmazást úgy, hogy megadja annak telepített helyét a merevlemezen.
Important
Az ilyen típusú példányok nem megbízható adatokkal való használata biztonsági kockázatot jelent. Ezt az objektumot csak megbízható adatokkal használja. További információ: Minden bemenet ellenőrzése.
Note
Ha Visual Studio használ, a Start metódus túlterhelését szúrja be a kódba, miután egy Process összetevőt a tervezőre húzott.
Properties Az ablakban bontsa ki a kategóriátStartInfo, és írja be a megfelelő értéket a FileName tulajdonságba. A módosítások megjelennek az űrlap eljárásában InitializeComponent .
Ez a Start túlterhelés nem módszer static . Az osztály egy példányából Process kell meghívnia. A hívás Startelőtt meg kell adnia StartInfo a Process példány tulajdonságadatait, mert ezek az információk határozzák meg a elindítandó folyamaterőforrást.
A metódus Start többi túlterhelése tagokstatic. A metódus túlterheléseinek meghívása előtt nem kell létrehoznia az Process összetevő egy példányát. Ehelyett meghívhatja Start magát az Process osztályt, és a folyamat elindításakor létrejön egy új Process összetevő. Vagy a visszaadott érték, null ha egy folyamatot újra felhasználtak. A folyamaterőforrás automatikusan társítva lesz a metódus által visszaadott Process új Start összetevővel.
A StartInfo tagok a Windows Run menü Start párbeszédpaneljének funkcióit duplikálhatják. A parancssorba beírható bármit elindíthat a tulajdonság megfelelő értékeinek StartInfo beállításával. Az egyetlen StartInfo tulajdonság, amelyet be kell állítani, a FileName tulajdonság. A FileName tulajdonságnak nem kell végrehajtható fájlnak lennie. Bármilyen fájltípushoz tartozhat, amelyhez a bővítmény a rendszeren telepített alkalmazáshoz van társítva. A FileName tulajdonság például .txt kiterjesztéssel rendelkezhet, ha szövegfájlokat társított egy szerkesztőhöz, például a Jegyzettömbhöz, vagy .doc kiterjesztéssel is rendelkezhet, ha .doc fájlokat társított egy szövegszerkesztő eszközzel, például Microsoft Word.
A parancssorban megadhatja az egyes fájltípusokhoz végrehajtandó műveleteket. Nyomtathat például dokumentumokat vagy szerkesztheti a szövegfájlokat. Adja meg ezeket a műveleteket a VerbStartInfo tulajdonság tagjának használatával. Más típusú fájlok esetében parancssori argumentumokat adhat meg, amikor a párbeszédpanelen elindítja a Run fájlt. Ha például a böngészőt adja meg argumentumként, megadhat egy URL-címet argumentumként FileName. Ezek az argumentumok megadhatók a StartInfo tulajdonság tagjában Arguments .
Ha a rendszerben idézőjelek használatával deklarált egy elérési útváltozót, akkor az adott helyen található folyamatok indításakor teljes mértékben meg kell jelölnie ezt az elérési utat. Ellenkező esetben a rendszer nem találja az elérési utat. Ha például c:\mypath nem szerepel az elérési úton, és idézőjelek használatával adja hozzá: path = %path%;"c:\mypath"az indításkor minden folyamatot teljes mértékben minősíteni c:\mypath kell.
Note
ASP.NET weblap- és kiszolgálóvezérlő kód a webkiszolgáló ASP.NET feldolgozói folyamatának kontextusában fut. Ha a Start metódust használja egy ASP.NET weblapon vagy kiszolgálóvezérlőben, az új folyamat korlátozott engedélyekkel fut a webkiszolgálón. A folyamat nem ugyanabban a környezetben indul el, mint az ügyfélböngésző, és nincs hozzáférése a felhasználói asztalhoz.
Amikor egy folyamat elindításához használja Start , előfordulhat, hogy be kell zárnia, vagy meg kell kockáztatnia a rendszer erőforrásainak elvesztését. Zárja be a folyamatokat a vagy CloseMainWindowa .Kill A tulajdonság használatával HasExited ellenőrizheti, hogy egy folyamat már lezárult-e.
Itt a felügyelt szálak lakásállapotairól szóló megjegyzésre van szükség. Ha UseShellExecute a folyamatösszetevő tulajdonságán true vanStartInfo, a metódus attribútumának [STAThread] beállításával győződjön meg arról, hogy beállított egy szálmodellt az main() alkalmazásban. Ellenkező esetben a felügyelt szálak lehetnek állapotban unknown vagy állapotban MTA lehetnek, amelyek közül az utóbbi ütközik az állapottal UseShellExecutetrue. Egyes módszerek megkövetelik, hogy a lakás állapota ne legyen unknown. Ha az állapot nincs explicit módon beállítva, amikor az alkalmazás ilyen módszerrel találkozik, alapértelmezés szerint MTAa lakás állapota nem módosítható. A rendszer azonban kivételt okoz, MTA ha az operációs rendszerhéj kezeli a szálat.