Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

O singura instanta a aplicatiei

Scriem o aplicatie si vrem sa permitem rularea numai unei singure instante a respectivei aplicatii. Cum facem asta?

Metoda Main() a unei aplicatii winform arata asa:

    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }

Cum ar trebui sa arate pentru a permite numai o singura instanta?

In primul rand adaog 2 instructiuni using:

using System.Net.Sockets;
using System.Net;

Apoi modific metoda Main() asa:

    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            try
            {
                TcpListener server = new TcpListener(IPAddress.Any, 12345);
                server.Start();
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }

            catch (SocketException e)
            {
                if (e.SocketErrorCode == SocketError.AddressAlreadyInUse)
                {
                    MessageBox.Show("Only one instance is allowed.");
                }
            }
        }
    }
Category: Uncategorized

Your email address will not be published. Required fields are marked *

*