Example #1
0
        /// <summary>
        /// Devuelve la lista de ventanas activas en el sistema con un titulo visible
        /// </summary>
        /// <returns>Lista de ventanas activas</returns>
        public static Window[] getActiveWindows()
        {
            Process[] processes = Process.GetProcesses();
            Window[] activeWindows = new Window[processes.Length];

            for (int i = 0; i < processes.Length; i++)
                activeWindows[i] = new Window(processes[i]);

            return activeWindows;
        }
Example #2
0
        private void btnActivate_Click(object sender, EventArgs e)
        {
            if (cmbApplication.SelectedIndex < 0)
                return;

            if (macrosRunning)
            {
                foreach (Macro macro in macroList)
                {
                    macro.Stop();
                }
                btnActivate.Text = "Activar";
                cmbApplication.Enabled = true;
                gridMacroList.Enabled = true;
                macrosRunning = false;

                return;
            }
            else
            {
                btnActivate.Text = "Detener";
                cmbApplication.Enabled = false;
                gridMacroList.Enabled = false;
                macrosRunning = true;
            }

            window = (Window)cmbApplication.SelectedItem;
            //window.setForegroundWindow();

            macroList = buildMacroList();
            foreach (Macro macro in macroList)
            {
                macro.Start(window);
                Thread.Sleep(100);
            }

            Thread checkWindowInForegroundThread = new Thread(new ThreadStart(checkWindowInForeground));
            checkWindowInForegroundThread.Start();
        }