Ensure that only one instance of the C # app is running
[Stathread] static void main () {process instance = runninginstance (); if (instance == null) {Application.run (new mainfrm ());} else {//messagebox.show ("This program is already started!" HandlerunningInstance (Instance);}}
[DLLIMPORT ("User32.dll")] Private Static Extern Bool ShowWindowasync (INTPTR HWND, INT CMDSHOW);
[DLLIMPORT ("User32.dll")] Private Static Extern Bool SetForegroundWindow (INTPTR HWND);
Private const Int WS_SHOWNORMAL = 1;
Private statics () {process current = process.getCurrentProcess (); process [] processes = process.getprocessesbyname (current.ProcessName);
Foreach (Process Procity In Processes) {if (Process.id! = CURRENT.ID) {if (assembly.getexecutingassembly (). location.replace ("/", "//") ==current.mainmodule.FileName) { Return process;}}}
Return NULL;
Private static void handlerunninginstance (process instance) {showwindowasync (instance.mainwindowhandle, ws_shownormal);
SetForegroundWindow (Instance.MainWindowHandle);