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
ProcessStartInfo
is used together with the
Process
component. When you start a process using the
Process
class, you have access to process information in addition to that available when attaching to a running process.
You can use the
ProcessStartInfo
class for better control over the process you start. You must at least set the
FileName
property, either manually or using the constructor. The file name is any application or document. Here a document is defined to be any file type that has an open or default action associated with it. You can view registered file types and their associated applications for your computer by using the
Folder Options
dialog box, which is available through the operating system. The
Advanced
button leads to a dialog box that shows whether there is an open action associated with a specific registered file type.
In addition, you can set other properties that define actions to take with that file. You can specify a value specific to the type of the
FileName
property for the
Verb
property. For example, you can specify "print" for a document type. Additionally, you can specify
Arguments
property values to be command-line arguments to pass to the file's open procedure. For example, if you specify a text editor application in the
FileName
property, you can use the
Arguments
property to specify a text file to be opened by the editor.
Standard input is usually the keyboard, and standard output and standard error are usually the monitor screen. However, you can use the
RedirectStandardInput
,
RedirectStandardOutput
, and
RedirectStandardError
properties to cause the process to get input from or return output to a file or other device. If you use the
StandardInput
,
StandardOutput
, or
StandardError
properties on the
Process
component, you must first set the corresponding value on the
ProcessStartInfo
property. Otherwise, the system throws an exception when you read or write to the stream.
Set the
UseShellExecute
property to specify whether to start the process by using the operating system shell. If
UseShellExecute
is set to
false
, the new process inherits the standard input, standard output, and standard error streams of the calling process, unless the
RedirectStandardInput
,
RedirectStandardOutput
, or
RedirectStandardError
properties, respectively, are set to
true
.
You can change the value of any
ProcessStartInfo
property up to the time that the process starts. After you start the process, changing these values has no effect.
Important
Using an instance of this object with untrusted data is a security risk. Use this object only with trusted data. For more information, see
Validate All Inputs
.
This class contains a link demand at the class level that applies to all members. A
SecurityException
is thrown when the immediate caller does not have full-trust permission. For details about security demands, see
Link Demands
.