Cum se utilizează Process.Start în Visual Basic

start metoda Proces obiectul este probabil unul dintre cele mai subapreciate instrumente disponibile pentru un programator. Ca metodă .NET, start are o serie de supraîncărcări, care sunt diferite seturi de parametri care determină exact ce face metoda. Supraîncărcările vă permit să specificați aproape orice set de parametri pe care s-ar putea să treceți la un alt proces atunci când acesta începe.

Cu ce ​​poți face Process.Start este într-adevăr limitat doar de procesele pe care le puteți utiliza cu acesta. Dacă doriți să afișați fișierul ReadMe bazat pe text în Notepad, este la fel de ușor:

Process.Start ( "Readme.txt")
sau
Process.Start ("notepad", "ReadMe.txt")

Acest exemplu presupune că fișierul ReadMe se află în același dosar ca programul și că Notepad este aplicația implicită pentru tipurile de fișiere .txt și se află în calea mediului de sistem.

Process.Start similar cu comanda Shell în VB6

Pentru programatori familiarizați cu Visual Basic 6, Process.Start este oarecum ca VB 6 Coajă comanda. În VB 6, ați folosi ceva de genul:

lngPID = Shell ("MyTextFile.txt", vbNormalFocus)

Folosind Process.Start

Puteți utiliza acest cod pentru a porni Notepad maximizat și a crea un ProcessStartInfo obiect pe care îl puteți utiliza pentru un control mai precis:

Dim ProcessProperties ca nou ProcessStartInfo
ProcessProperties.FileName = "notepad"
ProcessProperties.Arguments = "myTextFile.txt"
ProcessProperties.WindowStyle = ProcessWindowStyle.Maximized
Dim myProcess As Process = Process.Start (ProcessProperties)

Pornirea unui proces ascuns

Puteți chiar să începeți un proces ascuns.

ProcessProperties.WindowStyle = ProcessWindowStyle.Hidden
Dar fii atent. Dacă nu adăugați mai multe coduri pentru a încheia procesul, probabil că va trebui să îl încheiați în Task Manager. Procesele ascunse sunt utilizate în mod normal doar cu procesele care nu au niciun fel de interfață de utilizator.

Preluarea numelui unui proces

Lucrând cu Process.Start ca obiect .NET îți oferă multă capacitate. De exemplu, puteți prelua numele procesului început. Acest cod va afișa „notepad” în fereastra de ieșire:

Dim myProcess As Process = Process.Start ("MyTextFile.txt") Console.WriteLine (myProcess.ProcessName)
Așa ați putut ceva nu face cu VB6 Coajă comanda deoarece a lansat noua aplicație în mod asincron. Utilizarea WaitForExit poate provoca problema inversă în .NET, deoarece trebuie să lansați un proces într-un nou thread dacă aveți nevoie de acesta pentru a se executa asincron. De exemplu, dacă aveți nevoie ca componentele să rămână active într-un formular în care a fost lansat un proces și WaitForExit a fost executat. De obicei, acele componente nu vor fi active. Codificați-l și vedeți-vă singuri.

O modalitate de a forța procesul de a opri este de a utiliza Ucide metodă.

myProcess.Kill ()