• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Single Instance Application

  • Автор темы NikSoft
  • Дата начала
N

NikSoft

Следующий код решает задачу

Код:
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace Singleton
{
static class Program
{
const int showMinimized = 2;
const int showRestore  = 9;

[DllImport("User32.dll")]
public static extern int ShowWindowAsync(IntPtr hWnd, int swCommand);

[STAThread]
static void Main()
{
Process[] numberOfProcesses = Process.GetProcessesByName("Singleton");

if (numberOfProcesses.Length == 1)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
else
{
ShowWindowAsync(numberOfProcesses[0].MainWindowHandle, showMinimized);
ShowWindowAsync(numberOfProcesses[0].MainWindowHandle, showRestore);
}
}
}
}

Здесь "Singleton" имя приложения
 
E

Electro

Уважаемый NikSoft большое спасибо, за код.
буду должен
Я сделал так :
Код:
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace WinData
{
static class Program
{
/// </summary>
[STAThread]
static void Main()
{
//процесс -> namespace
Process[] numberOfProcesses = Process.GetProcessesByName("WinData");
if (numberOfProcesses.Length <= 1)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
}
В принципе работает. Спасибо!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!