Process.GetCurrentProcess Method
Gets a new Process component and associates it with the currently active process.
Assembly: System (in System.dll)
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.
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.
using System; using System.Diagnostics; using System.ComponentModel; namespace MyProcessSample { /// <summary> /// Shell for the sample. /// </summary> class MyProcess { 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"); } static void Main() { MyProcess myProcess = new MyProcess(); myProcess.BindToRunningProcesses(); } } }
-
LinkDemand
for full trust for the immediate caller. This member cannot be used by partially trusted code.
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
static void Main()
{
if (IsPrevInstance())
{
MessageBox.Show("Program is running");
Application.Exit();
return;
}
}
private static bool IsPrevInstance()
{
string processName = Process.GetCurrentProcess().ProcessName;
Process[] instances = Process.GetProcessesByName(processName);
return instances.Length > 1 ? true : false;
}
- 4/28/2011
- Ehsan Enaloo