Приложение winforms для одного экземпляра должно хранить данные текущего пользователя и показывать это в другом экземпляре, если попытаться открыть - PullRequest
0 голосов
/ 04 апреля 2019

В основном у меня есть приложение 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);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...