1 回答

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
你是說(shuō)同一個(gè)WPF應(yīng)用只能運(yùn)行一個(gè)進(jìn)程吧?如果是這樣,你還要考慮:
1——
在多用戶的狀態(tài)下,是否也這樣限制?也就是說(shuō)這個(gè)一個(gè)進(jìn)程是限制在整臺(tái)電腦上還是只是指定的用戶。
2——
應(yīng)用程序可以存放在不同的路徑下,你是限制在同一個(gè)文件存儲(chǔ)位置的應(yīng)用只能運(yùn)行一個(gè)進(jìn)程還是無(wú)論存儲(chǔ)在什么位置都是這樣?
對(duì)于同一個(gè)存儲(chǔ)路徑下的限制,你可以在應(yīng)用程序啟動(dòng)的時(shí)候,搜索所有進(jìn)程,發(fā)現(xiàn)跟當(dāng)前要運(yùn)行的進(jìn)程(應(yīng)用)的運(yùn)行路徑一致,說(shuō)明是重復(fù)運(yùn)行,采取策略處理。
假如是限制無(wú)論如何復(fù)制應(yīng)用程序(改名、放置不同的位置)都只能運(yùn)行一個(gè),這個(gè)需要通過(guò)一個(gè)進(jìn)程鎖的機(jī)制來(lái)解決,菜鳥(niǎo)程序猿已經(jīng)說(shuō)了,在.NET里最簡(jiǎn)單的就是單例模式。此外,你也可以通過(guò)寫(xiě)注冊(cè)表或者通過(guò)進(jìn)程間通訊的方式來(lái)識(shí)別。
- 1 回答
- 0 關(guān)注
- 880 瀏覽
添加回答
舉報(bào)