【问题标题】:How to Run program one Process and some name only?如何仅运行程序一个进程和某个名称?
【发布时间】:2009-10-29 10:52:43
【问题描述】:

我创建了一些项目,但是当启动 App.如何仅运行此应用程序一个进程并仅命名多个“test.exe”名称?什么时候午餐APP? C# 2.0

【问题讨论】:

  • 对不起,我不明白你的问题。也许translate.google.com可以帮助你?
  • 我认为他的意思是一个仅单实例的 .NET 应用程序。某种单例进程。
  • 问题不清楚。尝试改写它

标签: c# process single-instance


【解决方案1】:

这是一个看起来很有希望的示例项目: http://www.codeproject.com/KB/cs/SingleInstanceAppMutex.aspx

我在这里引用目标:

目标 #1:防止第二起案件 从开幕式

目标 #2:激活第一个实例

目标 #3。如果一审是 最小化到系统托盘(又名 “通知区”),恢复它

【讨论】:

  • @monkey_boys:在阅读了你的问题几次之后,我有点困惑你到底想要什么。哈...
  • @o.k.w:看了你的回答,我想你可能已经成功解释了这个问题。不过不确定。
  • 源代码很长而且没用可以用Process类检查一下吗?
  • @monkey_boys:这是一种方式,尽管我怀疑它是否 100% 万无一失。
  • @Fredrik:是的,我想我明白了(问题是什么意思)。 :)
【解决方案2】:

同样,不完全确定您的目的是什么,但我的解释是:

如果您想确保一次只运行一个进程实例,请在 main 方法的开头插入以下代码(在 Program.cs 中)。

if (Process.GetProcessesByName (Process.GetCurrentProcess().ProcessName).Length > 1)
{

    //instance of the process already active, exit
    return;

}

您需要在文件顶部包含using System.Diagnostics

请注意,这不是一个完美的解决方案,因为如果用户同时启动进程的两个实例,那么它们可能都会关闭。

【讨论】:

  • 或者在两个不同的应用程序有相同进程名的情况下。
猜你喜欢
  • 1970-01-01
  • 2017-03-10
  • 1970-01-01
  • 2018-01-29
  • 2015-04-03
  • 1970-01-01
  • 2016-07-15
  • 1970-01-01
  • 2012-06-30
相关资源
最近更新 更多