[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More
Experts Exchange Solution brought to you by
"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.
const string AppNamedEvent = "APP_NAMED__EVENT";
private extern static void SetWindowText(IntPtr hwnd, string text);
private static extern IntPtr FindWindow(string className, string wndName);
private static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("coredll.dll", EntryPoint = "CreateEvent", SetLastError = true)]
private static extern IntPtr CreateEvent(IntPtr lpEventAttributes, bool bManualReset, bool bInitialState, string lpName);
[DllImport("coredll.dll", EntryPoint = "CloseHandle", SetLastError = true)]
private static extern IntPtr CloseHandle(IntPtr handle);
//Before you do the app.run use the following code
// makes sure that we have only one run instance
IntPtr evnt = CreateEvent(IntPtr.Zero, false, false, AppNamedEvent);
if (Marshal.GetLastWin32Error() != 0)
// one instance of application is run, activate it
IntPtr hwnd = FindWindow(null, "StartForm");
if (hwnd != IntPtr.Zero)
Open in new window
Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.
From novice to tech pro — start learning today.
Premium members can enroll in this course at no extra cost.