В основном у меня есть приложение C # winforms с одним экземпляром, который можно открыть в системе, используя строки кода ниже.
internal static class Program
{
private static readonly Mutex _mutex = new Mutex(true, "f70bd07d-e882-469c-8bcd-d2a267ab0602");
[STAThread]
private static void Main()
{
if (_mutex.WaitOne(TimeSpan.FromSeconds(3), true))
{
Application.Run(MyForm);
_mutex.ReleaseMutex();
}
else
{
MessageBox.Show("Sorry, another user is currently using.",
"Information",
MessageBoxButtons.OK,
MessageBoxIcon.Information,
MessageBoxDefaultButton.Button1);
}
}
}
Итак, в приведенном выше случае я хочу показать информацию о пользователе, который первоначально открыл мое приложение, второму пользователю, который пытается открыть его.
Я пытался добавить некоторое статическое свойство класса, но оно не хранит значение от первого пользователя.
Ожидаемые результаты должны быть
internal static class Program
{
private static readonly Mutex _mutex = new Mutex(true, "f70bd07d-e882-469c-8bcd-d2a267ab0602");
[STAThread]
private static void Main()
{
if (_mutex.WaitOne(TimeSpan.FromSeconds(3), true))
{
Application.Run(MyForm);
_mutex.ReleaseMutex();
}
else
{
MessageBox.Show("Sorry, another user " + userName + " is currently using.",
"Information",
MessageBoxButtons.OK,
MessageBoxIcon.Information,
MessageBoxDefaultButton.Button1);
}
}
}