C WinForm程式只允許執行乙個例項

2022-03-06 09:12:52 字數 696 閱讀 2107

只允許程式執行乙個例項,也就是說你只能雙擊執行乙個程式一次,第二次雙擊執行將看到某某警告,只有關閉程式再開。

方法有很多種:mutex執行緒互斥變數法,程序查詢法,全域性原子法。其中第一種簡單實用,其它兩種:只允許執行乙個例項 檢視。

mutex執行緒互斥變數法(在program.cs檔案中修改):

bool 

isrun;

system.threading.

mutex

run =

new

system.threading.

mutex

(true

, "jxc_ui"

, out

isrun);

if (isrun)

else

messageboxex

.show(

"程式已經在執行了,一次只能執行乙個例項!"

);

system.threading.mutex類:乙個同步基元,也可用於程序間同步。

mutex 建構函式 (boolean, string, boolean):使用乙個指示呼叫執行緒是否應擁有互斥體的初始所屬權的布林值、乙個作為互斥體名稱的字串,以及乙個在方法返回時指示呼叫執行緒是否被授予互斥體的初始所屬權的布林值來初始化 mutex 類的新例項。

只允許程式執行乙個例項

有兩類方法 第一類 判斷程序是否存在,如果存在則直接退出。第二類 最簡單也是最準確的方法,用命名的互斥物件。如下 m hmutex 可以是成員變數,全域性變數或者是區域性變數 m hmutex createmutex null,false,t not imide if m hmutex 在呼叫 cr...

實現同時只允許執行乙個程式例項

方法一 從這裡開始執行 stathread static void main region 確保只有乙個例項 public static process runninginstance return null private static void handlerunninginstance pro...

WINCE中只允許程式執行乙個例項

net cf dllimport coredll.dll private static extern int getlasterror dllimport coredll.dll private static extern int releasemutex intptr hmutex dllimpo...