如題,讓一臺電腦只能運(yùn)行一個WPF程序,怎么做?
WPF一臺電腦只能運(yùn)行一個程序
繁星點(diǎn)點(diǎn)滴滴
2018-08-02 04:06:27
TA貢獻(xiàn)1872條經(jīng)驗 獲得超4個贊
你是說同一個WPF應(yīng)用只能運(yùn)行一個進(jìn)程吧?如果是這樣,你還要考慮:
1——
在多用戶的狀態(tài)下,是否也這樣限制?也就是說這個一個進(jìn)程是限制在整臺電腦上還是只是指定的用戶。
2——
應(yīng)用程序可以存放在不同的路徑下,你是限制在同一個文件存儲位置的應(yīng)用只能運(yùn)行一個進(jìn)程還是無論存儲在什么位置都是這樣?
對于同一個存儲路徑下的限制,你可以在應(yīng)用程序啟動的時候,搜索所有進(jìn)程,發(fā)現(xiàn)跟當(dāng)前要運(yùn)行的進(jìn)程(應(yīng)用)的運(yùn)行路徑一致,說明是重復(fù)運(yùn)行,采取策略處理。
假如是限制無論如何復(fù)制應(yīng)用程序(改名、放置不同的位置)都只能運(yùn)行一個,這個需要通過一個進(jìn)程鎖的機(jī)制來解決,菜鳥程序猿已經(jīng)說了,在.NET里最簡單的就是單例模式。此外,你也可以通過寫注冊表或者通過進(jìn)程間通訊的方式來識別。
舉報