У меня есть программа, которая позволяет запускать только один экземпляр. Я использую этот код
bool createdNew = true;
using(Mutex mutex = new Mutex(true, "MobilePOSServer", out createdNew))
{
if(createdNew)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
else
{
Process current = Process.GetCurrentProcess();
foreach(Process proc in Process.GetProcessesByName(current.ProcessName))
{
if(proc.Id != current.Id)
{
SetForegroundWindow(proc.MainWindowHandle);
}
}
}
}
Что я хочу сделать, так это обработать аргументы командной строки для вызова некоторых методов start и stop в моей winForm winform. Я могу получить начало просто отлично. Но запуск приложения из нового окна командной строки и попытка вызова метода не работают. Я могу заставить окно выйти вперед. Есть ли способ, как я могу получить мою форму из ручки?
Или лучший способ сделать это?