在硬碟上建立乙個檔案,在檔案裡設定乙個值,根據這個值來判斷程式是否已經啟動。
二,登錄檔法=
0,13,
"starlee");
////
如果已經建立,就終止程序的啟動
if!=
null)
&&(getlasterror()=="
該程序已經啟動",
"錯誤",mb_ok);
return
false;}
if!=
handlem_hmutex;
m_hmutex
=createmutex(null,true,
"starlee");
//檢測是否已經建立mutex
//如果已經建立,就終止程序的啟動
if((m_hmutex
!=null)
&&(getlasterror()
==error_already_exists)) if
(m_hmutex
!=null)
上面兩種方法的思路和**新增的步驟都是一樣的,當然效果也一樣,選擇任何一種方法都能達到讓程序只啟動乙個例項的目的。
讓程式只執行乙個例項的四種方法
綜述 讓乙個程式只執行乙個例項的方法有多種,但是原理都類似,也就是在程式建立前,有視窗的程式在視窗建立前,檢查系統中是否已經設定了某些特定標誌了,如果有說明已經有乙個例項在執行了,則當前程式通知使用者怎樣怎樣,然後程式退出,當然方法有這麼多,各自也就有自己的優缺點了。注意下面的程式都是分塊拷貝的 r...
linux 只啟動乙個程序例項
很多應用程式都只應該啟動乙個執行例項,特別是設計檔案io操作的程式,如果誤啟動了多個例項,可能會導致混亂的io,進而導致檔案寫亂。常見的做法 1.生成pid檔案 這種做法最常見了,應用於大多數的linux程式,如apache httpd,mysql。思路是配置乙個pid檔案,當程式啟動時,對pid檔...
只執行乙個例項的方法
在vc 中程式設計中,只執行乙個例項的方法主要有兩類 1 遍歷當前的所有視窗,查詢相同的例項。為了便於查詢,一般要事先設乙個查詢標誌。2 利用系統提供的互斥物件或信標,直接讓系統抑制重複的例項。在發現重複執行時,一般還有乙個任務,就是啟用已經存在的視窗。一 第一類方法的實現 下面是乙個具體的例子,下...