//引用程序集Microsoft.VisualBasic.dll
using Microsoft.VisualBasic.ApplicationServices;
//修改wpf自行生成的app类
public partial class App : Application
{
private void Application_Startup(object sender, StartupEventArgs e)
{
}
protected override void OnStartup(StartupEventArgs e)
{
ShowWindow();
base.OnStartup(e);
}
public void ShowWindow()
{
MainWindow win = new MainWindow();
win.Show();
}
}
//借助VB实现自定义单实例类
class SingleInstanceApplication : WindowsFormsApplicationBase
{
public SingleInstanceApplication()
{
this.IsSingleInstance = true;//设置为单实例
}
App app;
protected override bool OnStartup(StartupEventArgs eventArgs)
{
app = new App();
app.Run();
return false;
}
protected override void OnStartupNextInstance(StartupNextInstanceEventArgs eventArgs)
{
app.ShowWindow();
base.OnStartupNextInstance(eventArgs);
}
}
//自定义启动类(在项目属性中将该类设置为启动对象)
class StartProcess
{
[STAThread]
public static void Main(string[] args)
{
SingleInstanceApplication singleApp = new SingleInstanceApplication();
singleApp.Run(args);
}
}
WPF多开单实例(类似word多开单进程)实现
最新推荐文章于 2024-09-29 16:34:46 发布