轉)如何使程式只執行乙個例項

2021-08-20 21:11:54 字數 672 閱讀 3809

要使應用程式只執行乙個例項,乙個簡單的方法是在應用程式類中使用互斥量,這可以用vc下的guidgen.exe程式產生.guidgen.exe位於vc安裝目錄commontools目錄下

例項1: 新建一基於對話方塊的工程ex1,採用預設設定

2: 用guidgen.exe產生乙個全域性標誌,#define one "產生的全域性標誌"

本例中產生的語句如下:#define one "0xbe8e2ce1, 0xdab6, 0x11d6, 0xad, 0xd0, 0x0, 0xe0, 0x4c, 0x53, 0xf6, 0xe6"

如果結果等於error_already_exists說明已經有乙個例項在執行了這時返回false.

1

2

3

4

5

6

7

8

9

bool

}

1

2

3

4

5

int

如何使乙個程式執行唯一例項

如果需要某個程式只執行唯一乙個例項,可以通過互斥量來實現 首先建立乙個命名互斥量,如果該名稱的互斥量已經被建立,則getlasterror 返回error already exists,只要確保你的程式建立的互斥量的命名唯一,則可斷定已經有該程式的例項存在,簡單的 如下 int main int a...

使程式只能執行乙個例項

使我們的程式只能有乙個正在執行的例項。並且在第二次執行時,若前乙個例項主視窗處於最小化狀態,就讓前乙個例項恢復原大小顯示出來。前一例項程序執行期間得留下乙個可供後一例項程序判斷的標誌,類似程序間通訊,可以參考一些ipc的方式。不過這裡不需要傳遞多少資料,僅僅有個標誌就ok。乙個簡單思路 程式開始時建...

讓程式只執行乙個例項(C )

通常我們會遇到這樣的情況,讓程式只執行乙個例項,比如啟動防毒軟體時,只能啟動乙個,再啟動的話就沒什麼效果!利用程式名來判斷不是乙個好辦法,如果我們把程式名稱改一下就可以執行兩個完全一樣的程序。我們最好利用程式集的attribute存放特定資訊,然後用assembly物件的getcustomattri...