Thursday, November 1, 2007 3:19 AM
If there occurs a need to check if some process is already running and then bringing that process' main window in front then .NET does not helps 100%.
Using the System.Diagnositics.Process class to find out a already running process is a easy task but to bring that process' main window in front is a difficult goal.
Here's the code to get the already running process (e.g. Notepad) and then bringing it to front, using the native API from User32.dll >> SetForegroundWindow(int WindowHandle)
[System.Runtime.InteropServices.
class Program
{
static void Main(string[] args)
{
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName("notepad");
if (p.Length > 0)
{
SetForegroundWindow(p[0].MainWindowHandle);
}
}
}
DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
-Vaibhav Gaikwad