es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cierre más de una aplicación de Autohotkey.

Tengo 4 aplicaciones y tengo que utilizar 4 aplicaciones exe de autohotkey diferentes para la función de siempre en primer plano. Sin embargo, me gustaría cerrar todas ellas o finalizar su proceso.
Intenté utilizar ESC::ExitApp y la función Process.Kill(), pero solo una de ellas se cierra.

Aquí está mi código:

#SingleInstance Force

WinSet, AlwaysOnTop, Toggle, Bot
Winset, Style, -0xC00000, Bot

^!p::Pause
*ESC::ExitApp
return

Las otras aplicaciones son iguales pero tienen nombres de ventana diferentes.

Process[] bottom = Process.GetProcessesByName(“bottom”);
//MessageBox.Show(workers.Length.ToString());
foreach (Process bot in bottom)
{
bot.Kill();
bot.WaitForExit();
bot.Dispose();
}

Process[] left = Process.GetProcessesByName(“left”);
//MessageBox.Show(workers.Length.ToString());
foreach (Process l in left)
{
l.Kill();
l.WaitForExit();
l.Dispose();
}

Process[] right = Process.GetProcessesByName(“test1”);
//MessageBox.Show(workers.Length.ToString());
foreach (Process r in right)
{
r.Kill();
r.WaitForExit();
r.Dispose();
}

Process[] top = Process.GetProcessesByName(“top”);
//MessageBox.Show(workers.Length.ToString());
foreach (Process t in top)
{
t.Kill();
t.WaitForExit();
t.Dispose();
}

SendKeys.Send(“{ESC}”);

Según el código anterior, intenté cerrar 4 aplicaciones pero solo una se cierra. Además, no puedo ver los archivos autohotkeys.exe en ejecución en el Administrador de tareas. ¿Hay alguna forma de apagar o cerrar todos los archivos autohotkeys.exe? Gracias de antemano.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el código proporcionado intenta finalizar los procesos de las 4 aplicaciones exe separadas de autohotkey por sus respectivos nombres, pero solo se cierra uno de ellos. Además, los archivos autohotkeys.exe en ejecución no se pueden ver en el Administrador de tareas.

    Una sugerencia para probar es utilizar el siguiente código para finalizar todas las instancias de autohotkeys.exe:

    Process[] ahkProcesses = Process.GetProcessesByName("autohotkeys");
    foreach (Process p in ahkProcesses)
    {
        p.Kill();
        p.WaitForExit();
    }
    

    Este código utiliza el método GetProcessesByName para encontrar todos los procesos en ejecución con el nombre “autohotkeys” y luego itera a través de ellos para finalizar cada uno y esperar a que salga.

    También es posible que pueda haber algún problema con la forma en que se están lanzando o ejecutando las aplicaciones exe de autohotkey, lo que impide que se cierren correctamente. En este caso, puede ser útil consultar la documentación o buscar ayuda en la comunidad de autohotkey para solucionar el problema.

Comments are closed.