Process.GetCurrentProcess Method
Gets a new Process component and associates it with the currently active process.
[Visual Basic] Public Shared Function GetCurrentProcess() As Process [C#] public static Process GetCurrentProcess(); [C++] public: static Process* GetCurrentProcess(); [JScript] public static function GetCurrentProcess() : Process;
Return Value
A new Process component associated with the process resource that is running the calling application.
Remarks
Use this method to create a new Process instance and associate it with the process resource on the local computer.
Like the similar GetProcessById, GetProcessesByName, and GetProcesses methods, GetCurrentProcess associates an existing resource with a new Process component.
Example
[Visual Basic, C#, C++] The following example retrieves information of the current process, all instances of Notepad running on the local computer, all instances of Notepad running on a specific computer using the computer alias and an IP address, all processes running on the local computer and a remote computer, a specific process on the local computer or a remote computer using the process id.
[Visual Basic] Imports System Imports System.Diagnostics Imports System.ComponentModel Namespace MyProcessSample _ '/ <summary> '/ Shell for the sample. '/ </summary> Public Class MyProcess Public Sub BindToRunningProcesses() ' Get the current process. Dim currentProcess As Process = Process.GetCurrentProcess() ' Get all instances of Notepad running on the local ' computer. Dim localByName As Process() = Process.GetProcessesByName("notepad") ' Get all instances of Notepad running on the specifiec ' computer. ' 1. Using the computer alias (do not precede with "\\"). Dim remoteByName As Process() = Process.GetProcessesByName("notepad", "myComputer") ' 2. Using an IP address to specify the machineName parameter. Dim ipByName As Process() = Process.GetProcessesByName("notepad", "169.0.0.0") ' Get all processes running on the local computer. Dim localAll As Process() = Process.GetProcesses() ' Get all processes running on the remote computer. Dim remoteAll As Process() = Process.GetProcesses("myComputer") ' Get a process on the local computer, using the process id. Dim localById As Process = Process.GetProcessById(1234) ' Get a process on a remote computer, using the process id. Dim remoteById As Process = Process.GetProcessById(2345, "myComputer") End Sub 'BindToRunningProcesses Public Shared Sub Main() Dim myProcess As New MyProcess() myProcess.BindToRunningProcesses() End Sub 'Main End Class 'MyProcess End Namespace 'MyProcessSample [C#] using System; using System.Diagnostics; using System.ComponentModel; namespace MyProcessSample { /// <summary> /// Shell for the sample. /// </summary> public class MyProcess { public void BindToRunningProcesses() { // Get the current process. Process currentProcess = Process.GetCurrentProcess(); // Get all instances of Notepad running on the local // computer. Process [] localByName = Process.GetProcessesByName("notepad"); // Get all instances of Notepad running on the specifiec // computer. // 1. Using the computer alias (do not precede with "\\"). Process [] remoteByName = Process.GetProcessesByName("notepad", "myComputer"); // 2. Using an IP address to specify the machineName parameter. Process [] ipByName = Process.GetProcessesByName("notepad", "169.0.0.0"); // Get all processes running on the local computer. Process [] localAll = Process.GetProcesses(); // Get all processes running on the remote computer. Process [] remoteAll = Process.GetProcesses("myComputer"); // Get a process on the local computer, using the process id. Process localById = Process.GetProcessById(1234); // Get a process on a remote computer, using the process id. Process remoteById = Process.GetProcessById(2345, "myComputer"); } public static void Main() { MyProcess myProcess = new MyProcess(); myProcess.BindToRunningProcesses(); } } } [C++] #using <mscorlib.dll> #using <System.dll> using namespace System; using namespace System::Diagnostics; using namespace System::ComponentModel; int main() { // Get the current process. Process* currentProcess = Process::GetCurrentProcess(); // Get all instances of Notepad running on the local // computer. Process* localByName[] = Process::GetProcessesByName(S"notepad"); // Get all instances of Notepad running on the specific // computer. // 1. Using the computer alias (do not precede with "\\"). Process* remoteByName[] = Process::GetProcessesByName(S"notepad", S"myComputer"); // 2. Using an IP address to specify the machineName parameter. Process* ipByName[] = Process::GetProcessesByName(S"notepad", S"169.0.0.0"); // Get all processes running on the local computer. Process* localAll[] = Process::GetProcesses(); // Get all processes running on the remote computer. Process* remoteAll[] = Process::GetProcesses(S"myComputer"); // Get a process on the local computer, using the process id. Process* localById = Process::GetProcessById(1234); // Get a process on a remote computer, using the process id. Process* remoteById = Process::GetProcessById(2345, S"myComputer"); }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
.NET Framework Security:
- SecurityPermission for calling any members of System.Diagnostic.Process with full trust. Associated enumeration: PermissionState.Unrestricted
See Also
Process Class | Process Members | System.Diagnostics Namespace | GetProcessById | GetProcessesByName | GetProcesses