Linia poleceń + jedno uruchomienie programu

0

Witam

Po kliknięciu pliku z rozszerzeniem ".abc" uruchamia się program
i jako parametr przekazywana jest nazwa pliku. Chcę żeby uruchomiona była
tylko jedna instancja programu.

Przy pierwszym uruchomieniu wszystko jest ok.
Kiedy klikam w kolejny skojarzony plik ".abc" nie uruchamia się kolejna instancja programu - czyli OK,
ale nie zmienia się zmienna ARGS (odczyt z poziomu formy ), choć messagebox wyskakuje.
Nie wiem gdzie jest błąd?

    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        public static string[] ARGS; // dodalem, dostep do argumentow z poziomu formy
        [STAThread]
        static void Main(string[] args)
        {
            bool createdNew = true;
            ARGS = args;

            MessageBox.Show(""); // <--------

            using (Mutex mutex = new Mutex(true, Application.ProductName, out createdNew))
            {
                if (createdNew)
                {

                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new Form1());
                    GC.KeepAlive(mutex);
                }
            }
        }
    }
0

Nic dziwnego, uruchamiana jest nowa instancja aplikacji.

0
Rev.pl napisał(a)

Nic dziwnego, uruchamiana jest nowa instancja aplikacji.

???
W takim razie jak przekazać nazwe drugiego pliku?

Opiszę dokładniej:
Mam dwa pliki: 1.abc, 2.abc
Otwieram 1.abc - włącza się skojarzony program. ARGS[0]= 1.abc
Program działa.
Otwieram 2.abc - pokazuje sie messagebox, ale ARGS[0]= 1.abc (odczytywany z poziomu formy)

1 użytkowników online, w tym zalogowanych: 0, gości: 1