Single-instance Application

  • Автор темы Electro
  • Дата начала
E

Electro

#1
Что-то не нахожу как сотворить сие(single-instance application) в Win проекте
на шарпе. Все то нашел касается только VB проекта.
Буду признателен за помощь.
К примекру создавая проект WinForm на VB , в свойствах проекта на вкладке
"Application" можно установить флажок "Make single instance application",
сие означает - что сл. вызов экз-ра этого приложения не произойдет.
 
P

pushkin

#2
Что-то не нахожу как сотворить сие(single-instance application) в Win проекте
на шарпе. Все то нашел касается только VB проекта.
Буду признателен за помощь.
К примекру создавая проект WinForm на VB , в свойствах проекта на вкладке
"Application" можно установить флажок "Make single instance application",
сие означает - что сл. вызов экз-ра этого приложения не произойдет.
Вот один из способов используя System-Wide Mutex:
[codebox]
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Threading;

namespace SingleInstance
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Mutex m = new Mutex(false, "SingleInstanceAppMutex");

if (m.WaitOne(0, false))
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
else
MessageBox.Show("Shit");
}
}
}
[/codebox]