WPF兩種方法實現單例項應用程式

2022-07-30 22:15:14 字數 1764 閱讀 1019

所謂單例項應用程式就是只能開啟乙個程序的應用程式,通常未做處理的wpf程式可以多次點選exe程式,每次點選,系統都會分配乙個程序。這樣不僅造成了資源的浪費還會導致其他各種問題,例如,我們的程式裡面寄宿了乙個wcf介面,那多次啟動會導致埠繫結錯誤。為了讓大家對此有個更加深刻的印象,下面做個簡單的演示。

1、建立乙個簡單的wpf應用程式,沒做任何處理。如下圖所示:

好了,現在要做的就是做個限制,無論使用者點選多少次,始終執行乙個exe,同時只能存在乙個exe程序。廢話不多說,下面進入正題。

using

system;

using

system.windows;

namespace}}

下面進入正題

1、使用system.threading.mutex,mutex是乙個同步基元,也可用於程序間同步。**如下:

using

system;

using

system.windows;

namespace

else

mainwindow win = new

mainwindow();

//程式關閉,記得釋放所占用資源

if (null !=mutex)}}

}

執行效果:

可以看到,當開啟乙個應用程式之後,再次點選exe,會提示「程式已經在執行」。關閉程式之後,再次開啟(第一次正常,之後提示一樣)。

首先新增對程式集:microsoft.visualbasic 的引用,如下圖:

}在program啟動方法裡面加上如下**:

執行效果一樣。

最後貼上program.cs的**:

using

system;

using

system.windows;

namespace

//else

//

//

//mainwindow win = new mainwindow();

/////

/程式關閉,記得釋放所占用資源

//if (null != mutex)

// #endregion

#endregion

} }

public

class

protected

override

bool

protected

override

void}}

至此,完畢。

單鏈表 兩種方法簡單實現單鏈表逆置

方法一 反轉前後指標,通過建立三個指標的移動,將兩兩相鄰的結點依次進行反轉。單鏈表的逆置 相鄰指標 pnode reverselist pnode phead pcur pnext ppre return pcur 方法二 頭插法,新建乙個頭結點,將原鍊錶的結點依次頭插到新鍊錶中。單鏈表的逆置 頭插...

C 發郵件 兩種方法 例項

最近要用c 做個小工具,要用到c 發郵件這個功能,順便把 貼上來和大家分享。方法一 用.net的net.mail庫封裝好的方法。view plain using system using system.collections.generic using system.linq using syste...

兩種方法實現解除安裝apk應用程式

安裝和解除安裝可以通過intent呼叫系統自身的程式安裝和解除安裝程式來實現,另外,我們也可以直接呼叫android的安裝和解除安裝程式介面來實現。方法一 uri packageuri uri.parse package packagename 這個形式是 package 程式完整的路徑 包名 程式...