WPF程式單例實現

2022-03-12 18:06:05 字數 546 閱讀 8057

大家肯定碰到過不少程式在乙個機器上只能啟動一次的吧

比如傲遊,windows media player等等

而在wpf應用程式如何實現這個功能呢??

具體實現如下:

在建立wpf應用程式後

1protected

override

void

onstartup(startupeventargs e)

219}20

base

.onstartup(e);

21}解釋如下:

當您啟動該應用程式時,先獲得當前啟動的應用程式的當前程序

通過得到的這個程序來取得程序名(也就是你當前程式的名字)

通過遍歷所有該程序名名下的程序

比對所有程序編號(程序編號是唯一的)

如果是第一次啟動,那麼當前程序名名下的程序編號肯定是全部和取得的當前程序的編號是一致的

但是如果是第二次啟動,由於之前已經有其他程序註冊到了我們的當前的程式名下了

和當前的程序編號比對一下肯定就不一致了

從而關閉當前當前啟動的第二個應用程式

WPF 單例視窗

首先在主窗體中將選單關聯的窗體例項化。第二步 將每個選單對應窗體的closing事件重寫。之所以要重寫closing事件,是因為在選單對應的視窗關閉之後,再次開啟就會報錯 第三步 在主窗體中選單事件裡面進行判斷處理 示例 public partial class main window 事件呼叫 p...

wpf 單列表 WPF 應用程式單例模式

wpf程式如何只允許開啟乙個視窗,當視窗存在時,啟用視窗。步驟 2 新增引用 system.runtime.remoting 如下 stathread public static void main if singleinstance.initializeasfirstinstance unique...

vc 程式單例

1 首先需要設定乙個窗體的屬性標誌,例如設定乙個全域性的字串 cosnt cstring g wndpropname l myprop 為主窗體加上屬性標誌 i 在主窗體的oninitdialog 中新增 setprop m hwnd,g wndpropname handle 1 param3中pd...