cc中如何只允許執行程式例項?多列一些方法

2021-05-22 20:53:36 字數 906 閱讀 6429

1樓:小燕子

通過if(getlasterror() == error_already_exists)來進行判斷,getlasterror()是api函式,該函式返回值為呼叫的執行緒的錯誤**值(unsigned long),**183(error_already_exists)表示檔案已存在,無法建立該檔案。例如:在你的工程名.

cpp檔案的initinstance()函式中,新增如下**:

if(getlasterror() == error_already_exists)

2樓:

一般來說的辦法就是怎麼想讓第二次執行知道已經有程式在執行了,或者說怎麼能通知第二個程式已經有檔案在執行了

例如程式執行後如果程式執行目錄沒有檔案a.txt,就在程式執行目錄新建一個檔案a.txt,關閉的時候刪除,這樣第二次執行發現已存在了這個檔案,說明程式已經在執行,故第二次執行直接退出

例如第一個執行程式用系統函式在本地監聽一個socket埠,第二次執行程式發現這個埠已經被佔用或者能連線,就知道已經有程式在執行了(例如**player就這樣搞的)

例如第一個執行的程式在登錄檔某個地方寫入一個1,退出時寫入0,第二次執行的程式發現登錄檔這個地方是1就退出,如果是0就可以繼續執行了,也就是其實是第一次執行

反正無論什麼辦法,具體要看你覺得怎麼樣合適才行的呢。還可以去找系統的程序列表,還可以測試某些環境變數啊,反正方法是很多的是死的,人是活的。

3樓:鬥帝之上魂鬥羅

可以在某個指定路徑下寫一個檔案,每次程式先檢查該檔案是否存在,存在就認為已經啟動一個例項,退出時刪除該檔案

4樓:匿名使用者

什麼叫做一個程式例項?

你vc編譯同一個工程能啟動多個?還是你說的是在工程中啟動執行緒?請說清楚一些

android中如何設定開機執行程式

取得root許可權後bai,使用許可權管理進行管du理軟體的自zhi啟許可權,選擇是否dao允許後臺自啟或者開內機自啟。具體如下 容以lbe安全大師為例,手機已經root 開啟lbe安全大師,選擇選單裡的主動防禦,選擇開啟。手機的許可權管理軟體super user會提示許可權允許。選擇允許。主動防禦...

c 如何測試程式執行時間,c c 如何測試 判斷 某一程序是否在執行??急求!!!

include head file time.h,though it s a c include file,c certainly can use it.under c you can include instead of time.h 函式名稱 localtime 函式原型 struct tm l...

在C 中執行程式,為什麼在編譯時沒有問題,但是回到程式的執

編譯器又不是萬能的,雖然已經足夠只智慧,但是對於一個傳遞了無數次的指版針是否仍權然有效或者傳遞過一次以上的陣列的範圍等問題編譯器是做不來的 其實並不是做不來,只是為了效率很少去做這些事,你總不希望一個程式編譯一天吧 所以要依靠 風格解決這些問題。其中最常見的是陣列訪問越界和野指標問題,當然也有部分野...