1
6
您可以使用互斥体。
|
2
0
你可以使用
|
3
0
通常,命名的互斥效果最好。以下是指向en的链接示例: http://www.iridescence.no/post/CreatingaSingleInstanceApplicationinC.aspx |
4
0
我要看你用的技术。有很多解决方案,一些更适合WPF,一些适用于WinForms:
有关WindowsFormsApplications Base的更多信息:
有关互斥和检查进程的详细信息:
我不会使用一个文件,它很容易出错,即使它不是应用程序的关键部分,没有文件访问权也可能导致程序中出现异常。 |
5
0
有几种方法可以做到这一点,它们都有各自的优点和缺点,谷歌会给你很多关于它的讨论。 你描述的方法有你提到的弱点。此外,还需要考虑希望实例具有多大的唯一性:
我有一个类,可以用来强制Windows窗体应用程序的每个WindowsStation使用一个实例。基本上,它使用p/invoke在启动期间执行以下操作,以防止使用互斥体的竞争条件:
在我的用例中,这个解决方案比简单地在进程的生命周期中保持互斥要好,因为如果用户启动了第二个实例,它提供了激活前一个实例的方法,而不仅仅是退出。使用getprop/setprop可以在不依赖进程名称的情况下识别进程实例。 |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |