Windows客戶端開發 只允許有乙個例項執行

2021-07-24 07:57:29 字數 1065 閱讀 7812

沒有人會漫無目的地旅行,那些迷路者是希望迷路。--

----

--《島上書店》

所以,今天就跟大家分享一下,如何確保你開發的windows客戶端只能同時執行乙個例項,或是叫程序。

使用mutex

openmutex函式為現有的乙個已命名互斥體物件建立乙個新控制代碼。

即在main函式中建立乙個互斥量:

winapi winmain(

hinstance, hinstance, lpstr, int)

catch (exception &exception)

return

0;}

使用createevent

createevent是乙個windows api函式。它用來建立或開啟乙個命名的或無名的事件物件。

bool checkoneinstance()

if ( getlasterror() == error_already_exists )

// the only instance, start in a usual way

return

true;

}

使用findwindow

findwindow這個函式檢索處理頂級視窗的類名和視窗名稱匹配指定的字串。

hwnd hwnd = ::findwindow(lpctstr lpclassname, lpctstr lpwindowname);

if (hwnd != null)

使用createsemaphore

建立乙個新的訊號量

createsemaphore(null, true, true, "mysemaphore");

if (getlasterror() == error_already_exists)

Windows客戶端開發 只允許有乙個例項執行

沒有人會漫無目的地旅行,那些迷路者是希望迷路。島上書店 所以,今天就跟大家分享一下,如何確保你開發的windows客戶端只能同時執行乙個例項,或是叫程序。使用mutex openmutex函式為現有的乙個已命名互斥體物件建立乙個新控制代碼。即在main函式中建立乙個互斥量 the first ins...

windows客戶端開發除錯工具

1.windows常用開發與除錯工具 1.1 sysinternals 核心大神打造,含大量windows系統工具,windows開發必備神器,大神被ms招安。procmon.exe 監視程式執行過程中的動作,可用於效能監控。procexp.exe 相當於公升級版的任務管理器,可以檢視載入模組,模組...

ONVIF客戶端開發

在使用 gsoap 框架生成 之後,得到檔案 soapc.c soapclient.c stdsoap2.c stdsoap2.h duration.c wsdd.h我們利用現有的soapclient,呼叫api構建onvif請求 包括xml,http client 開發前需要了解一下onvif官網...