好的,我有这个程序,我不想让它运行多个实例。所以我现在所拥有的是抓取与其名称匹配的所有实例,并且如果有多个实例会退出并让用户知道它已经在另一个实例中运行。防止第二个实例在特定情况下运行
但是,在新的实例会想改变什么另一个实例是干什么的,那么它将退出的一个特例。我怎样才能做到这一点?
这里有一个例子: 我有这个程序,时间的事件。我不希望同时运行多个应用程序,因为您不能同时执行两个任务(针对此应用程序)。现在说一个第三方程序想要通知该线程该用户正在处理其他事情,所以它会再次启动该应用程序。如果应用程序已经在运行,它将更新它的操作,否则它将正常运行。
这怎么办?
这是我用它来判断是否有另一个实例运行:
string proc = Process.GetCurrentProcess().ProcessName;
Process[] processess = Process.GetProcessesByName(proc);
if (processess.Length > 1) {
MessageBox.Show("There is an instance of the Timer already running");
return;
}
不应该命名管道能够处理消息吗? – configurator 2008-12-28 09:26:04