using system;
using system.collections.generic;
using system.windows.forms;
using system.reflection;
using system.threading;
using system.diagnostics;
using system.runtime.interopservices;
namespace autoupdate
static bool createmutex(string name)
static void releasmutex()
//使用getrunninginstance靜態方法獲取應用程式程序例項,如果沒有匹配程序,返回null值,
public static process getrunninginstance()
}return null;
}[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;
//以上的方法宣告為私有,對其進一步包裝,handlerunninginstance靜態方法
//為獲取應用程式控制代碼,設定應用程式為前台執行,並返回bool值。
public static bool handlerunninginstance(process instance)
//對上面的方法建立乙個過載版本,使呼叫**更加簡潔
public static bool handlerunninginstance()
return false;
}#region 屬性 (返回程式集的產品名及公司名)
public static string assemblyproduct
}public static string assemblycompany
}#endregion}}
C 讓應用程式只執行乙個例項
用如下方法可以保證應用程式只執行乙個例項。新增引用 using system.reflection using system.runtime.interopservices using system.diagnostics 呼叫dll檔案 dllimport user32.dll private s...
乙個應用程式例項
在開發一些應用系統的時候,由於程式內在的一些特徵,系統的某些組成子程式只允許執行乙個應用程式例項,以保證業務和資料處理安全。本文將從實際應用角度來分析其實現原理,對三種實現方式進行測試比較,從而確定一種合適的實現方法。文章的例子使用c 語言進行描述。程序匹配 對於每乙個應用程式執行例項都會包含該例項...
QT中實現程式只執行乙個例項 應用程式的單例化
最近想實現乙個應用程式單例化的程式,目前使qt執行乙個例項有如下幾種方式 1.qsharedmemory 使用共享記憶體,當第二個程序啟動時,判斷記憶體區資料是否建立,如有,則退出 這種方式有弊端,在程式發生崩潰時,未及時清除共享區資料,導致程式不能正常啟動.2.檔案鎖 在程式執行的時候就在目錄下建...