.net 如何检查已在c#net中运行的exe?
当用户每次启动应用程序时,它都会检查实例是否已经在运行,要知道的过程是什么。如果它没有运行,它将启动它,否则它将集中到当前的一个。我已经尝试了单例应用程序的代码,但它给出了很多错误。它运转不正常。你能为我提供另一种解决方案吗?你可以使用一个命名的 命名系统互斥体可见 在整个操作系统中,以及 可用于同步 过程的活动。你可以 创建一个表示 通过使用 接受名称的构造函数.net 如何检查已在c#net中运行的exe?,.net,exe,.net,Exe,当用户每次启动应用程序时,它都会检查实例是否已经在运行,要知道的过程是什么。如果它没有运行,它将启动它,否则它将集中到当前的一个。我已经尝试了单例应用程序的代码,但它给出了很多错误。它运转不正常。你能为我提供另一种解决方案吗?你可以使用一个命名的 命名系统互斥体可见 在整个操作系统中,以及 可用于同步 过程的活动。你可以 创建一个表示 通过使用 接受名称的构造函数 您应该使用互斥类,如下所述: 编辑:我的代码中有: class Program { public const string
您应该使用
互斥
类,如下所述:
编辑:我的代码中有:
class Program
{
public const string AppName = "...";
private static readonly Mutex mutex = new Mutex(true, Program.AppName);
public Program()
{
if (!mutex.WaitOne(TimeSpan.Zero, true))
throw new ApplicationException("Another instance already running");
}
}
如果您使用的是后台工作程序,则使用互斥对象不适用。如果
backgroundWorker
忙,它可能有多个实例。谢谢您的回答。。但是它给了我重新构建设计视图的错误,它显示了设计视图上的错误我已经通过了互斥代码。。但它给了我一个错误:公共覆盖无效处置(bool disposing);找不到合适的方法来处理..这是针对初始化组件。。因此,我对这一部分进行了评论。。但我面临的主要错误是在设计视图部分,设计者无法处理第26行的代码:抛出new NotImplementedException();“InitializeComponent”方法中的代码由设计器生成,不应手动修改。请删除所有更改,然后再次尝试打开设计器。我无法查看表单。cs[设计]plz帮助我!我已经检查了互斥密码。。但它给了我一个错误:公共覆盖无效处置(bool disposing);找不到合适的方法来处理..这是针对初始化组件。。因此,我对这一部分进行了评论。。但我面临的主要错误是在设计视图部分,设计者无法处理第26行的代码:抛出new NotImplementedException();“InitializeComponent”方法中的代码由设计器生成,不应手动修改。请删除所有更改,然后再次尝试打开设计器。我无法查看表单。cs[设计]plz帮助我!Scott hanselman在这里回答: