使用已运行的应用实例
使用已运行的应用实例
这个问题已经在这里有了答案:
可能是重复:
我有一个Winform应用程序,它将一个参数作为参数。
static class Program { [STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Gauges(args)); } }
这个程序每天被另一个应用程序执行多次。
我是否可以检查我的程序是否已经在运行,如果是,则可以使用具有最新参数的运行实例吗?
admin 更改状态以发布 2023年5月23日
您可以使用互斥锁来阻止应用程序的多个副本运行。此处有一篇关于使用互斥锁的非常好的文章:http://sanity-free.org/143/csharp_dotnet_single_instance_application.html
关于将参数传递给已经运行的进程,您需要实现某种形式的IPC来通知正在运行的实例有新参数。您可以使用多种解决方案,如套接字、命名管道等。