Olyd.Wpf.SingleStartup
1.0.1
dotnet add package Olyd.Wpf.SingleStartup --version 1.0.1
NuGet\Install-Package Olyd.Wpf.SingleStartup -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Olyd.Wpf.SingleStartup" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Olyd.Wpf.SingleStartup --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Olyd.Wpf.SingleStartup, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Olyd.Wpf.SingleStartup as a Cake Addin #addin nuget:?package=Olyd.Wpf.SingleStartup&version=1.0.1 // Install Olyd.Wpf.SingleStartup as a Cake Tool #tool nuget:?package=Olyd.Wpf.SingleStartup&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Olyd.Wpf.SingleStartup
WPF 单例进程启动解决方案
使用手册
- App 类继承
ISingleApp
, 实现NextRun
方法(另一个进程启动时调用的方法) - OnStartup 方法优点调用以下代码:
protected override void OnStartup(StartupEventArgs e)
{
var singlestartup = new SingletonStartUp(this);
singlestartup.Run(e.Args);
// .....
}
如果使用
Costura.Fody
整合了所有的依赖项,不能使用上述的是方法,需要替换成内部类实现ISingleApp
接口。 使用示例如下:
public partial class App : Application
{
// 实现 ISingleApp
private class SingleApp : ISingleApp
{
private Action<string[]> _nextRunAction;
public SingleApp(Action<string[]> nextRunAction)
{
_nextRunAction = nextRunAction;
}
// 可以指定唯一标识名称,不提供的话,默认是exe名称
public string? InstanceID { get; set; }
public void NextRun(string[] args) => _nextRunAction?.Invoke(args);
}
protected override void OnStartup(StartupEventArgs e)
{
var singlestartup = new SingletonStartUp(new SingleApp(NextRun));
singlestartup.Run(e.Args);
// ....
}
// NextRun 显示主界面或者其他逻辑
private void NextRun(string[] args)
{
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0-windows7.0
- Olyd.Extensions (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.