所謂單例項應用程式就是只能開啟乙個程序的應用程式,通常未做處理的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 程式完整的路徑 包名 程式...