Busco método para cerrar o matar aplicación .exe desde la tecla "esc".

Iniciado por Carolina Sanchez, 27 Noviembre 2013, 15:21 PM

0 Miembros y 3 Visitantes están viendo este tema.

Carolina Sanchez

Buenas tardes a todo el mundo.

Me llamo Carolina y soy nueva en este foro, soy administrativa y estoy creando un TEU (Todo En Uno) combinado con aplicaciones oficce.exe, creados por winrar para ejecutar desde mi usb los albaranes, facturas, pedidos, etc. De una forma rápida.

Os escribo para saber si existe la posibilidad de poder elegir la tecla para cerrar la aplicación, dado que es un .exe había pensado que lo mismo algún código .bat sería lo más fácil, me gustaría que se pudiera cerrar apretando la tecla "esc", ya que es la más común.

No tengo ni idea de programación, he conseguido hacer mi pequeño TEU, gracias a videotutoriales, por lo que si decidis ayudarme, pido por favor que lo pueda entender.

Tengo muchas más preguntas y dudas, pero esta que os expongo, me sería super útil.

Estoy desesperada... ^^.

Besitos.


Mad Antrax

Bueno, primero hemos de saber en que lenguaje has programado ese TEU (es decir, el lenguaje de programación usado para el exe).
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

Carolina Sanchez

#2
He creado el TEU con autoplay.

Por otro lado he creado varios .exe con winrar de mis documentos en word.

Es decir, he creado un archivo autoextraible con la ayuda de winrar.

Editado ^^

Mad Antrax

Cita de: Carolina Sanchez en 27 Noviembre 2013, 15:33 PM
He creado el TEU con autoplay.

Por otro lado he creado varios .exe con winrar de mis documentos en word.

Es decir, he creado un archivo autoextraible con la ayuda de winrar.

Editado ^^

shit, no conozco autoplay. No puedo ayudarte :(

Te edito el titulo
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

Carolina Sanchez

#4
Cita de: ||MadAntrax|| en 27 Noviembre 2013, 15:50 PM
shit, no conozco autoplay. No puedo ayudarte :(

Te edito el titulo

Gracias de todas formas ^^

Lo que yo busco es cerrar o matar, la aplicación .exe creada por winrar apretando la tecla esc.

El interfaz del autoplay no quiero tocarlo.

Asi que creo que el titulo está mal escrito.

Eleкtro

#5
Cita de: Carolina Sanchez en 27 Noviembre 2013, 15:33 PMHe creado el TEU con autoplay.

Con autoplay te refieres a la aplicación Autoplay Media Studio? o que otra aplicación Autoplay?.

En caso de ser Autoplay Media Studio y si no tienes problemas para entender el inglés, aquí tienes la solución:

Cita de: http://www.indigorose.com/forums/80-AutoPlay-Media-Studio-7.5-FAQQuestion:
Can AutoPlay Media Studio react to a key pressed on the users keyboard?

Answer:
You can make your application react to keystrokes using the following instructions:

1) Go to Page -> Properties -> Script -> "On Key" of the page that you would like to put this functionality.
2) Find out what the ASCII code of the key that you wish to capture is. There is a full list available from Here .
3) For our example we will capture the space bar. So from looking at the table in step 2 I can see that the Decimal value is 32.
4) Now add the following code:
if e_Key == 32 then
-- Your code that reacts to this keystroke goes here
end

Aquí tienes la lista del equivalente ASCII: http://www.theasciicode.com.ar/ascii-control-characters/escape-ascii-code-27.html

Dentro del bloque, deberías escribir una instrucción para iniciar la CMD (la consola de Windows) con el comando TaskKill (el cual sirve para matar un processo).

Según tengo entendido esta sería la sintaxis, esto sería lo que iria en el bloque de arriba, pero no lo se seguro ya que no uso dicha aplicaicón.

CommandLine.Execute("CMD.exe /C ""TaskKill /F /IM ""Nombre de tu menu Autoplay.exe""""", 0);

(Fíjate en las comillas dobles duplicadas, no se si esa es la manera de escapar las comillas dobles en el tal Autoplay.)

Otra forma al aprecer sería ejecutar un archivo bat que ya contenga las instrucciones para matar la aplicaicón (en el caso de que el código de arriba te diese problemas por las comillas y tut ampocos epas como escaparlas...):

File.Run("CloseMenu.bat", , "", SW_SHOWNORMAL, false);

el parámetro SW_SHOWNORMAL indica el tipo de ventana (normal, maximizada, minimizada, etc...), aquí tienes una lista de los posibles parámetros que puedes usar: http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153%28v=vs.85%29.aspx

El parámetro False segúramente esté indicando que no se debe esperar a que la aplicación finalice su ejecución, o eso o a que se muestre la ventana oculta, una de dos. si tienes dudas busca la documentación del programa.

El archivo CloseMenu.bat lo deberías colocar junto al archivo .exe de tu menu, y dentro del archivo CloseMenu.bat deberías escribir esto:

Código (dos) [Seleccionar]
@Echo OFF
TaskKill /F /IM "Nombre de tu menu Autoplay.exe"
Exit





En resumen, para que al apretar la tecla escape se cerrase el menú, supuéstamente (ya te digo, no lo se seguro porque no manejo ese programa) el código debería ser este:

if e_Key == 27 then

   File.Run("CloseMenu.bat", , "", SW_SHOWMINIMIZED, false)

end


EDITO: se me olvidaba comentar que el código no lo debes copiar/pegar y ya está, tienes que suscribirte al evento OnKeyPress del menú, las instrucciones las tienes más arriba, en inglés.

Saludos.








Carolina Sanchez

#6
Edito:

Lo siento Elektro Hacker, no te he entendido ni papa XD.


Eleкtro

#7
@Carolina

1. Puedes empezar por contestar a la primera pregunta que te hice para aclarar el nombre del programa que usas para crear los menues.

2. ¿Entiendes la explicación en inglés?, si la entiendes solo tienes que seguir esos pasos, y probar el código del resumen que hice al final del todo en mi respuesta.

3. Si lo prefieres puedes preguntar que es lo que no entiendes.

EDITO:

El procedimiento es sencillo de entender mira:

1. Creas un archivo bat para matar la aplicación (el código lo tienes arriba).
2. En el autoplay, escribes la instrucción necesaria para ejecutar el archivo bat (el código también lo tienes arriba, en el resumen, aunq no se si esa es la sintaxs correcta).
3. Por último, en el autoplay también, asocias una tecla con la instrucción (la manera de hacer esto lo pone en la cita inglesa).

Yo no puedo ayudar más, no uso autoplay

Saludos!








Carolina Sanchez

En mi proyecto, uso autoplay como interfaz para seleccionar los .exe

Mi pregunta es si cabe la posibilidad de cerrar, matar la aplicación de ese .exe, no del autoplay ni desde el autoplay.

De igual forma que yo cree un .bat para lanzar desde el .exe un documento de office, pensaba que lo mismo habría una posibilidad de meter en ese mismo .bat, la orden para que cuando apretara la tecla esc, se matara la aplicación .exe.

Lo mismo no lo he entendido, pero creo que poco tiene que ver autoplay para mi propósito.

Quiero resaltar que agradezco enormemente vuestra ayuda y pese a que no tengo apenas idea, intento llegar a mi objetivo, aunque mi pequeño proyecto no tenga nada que ver con lo que seais capaces de hacer muchos de esta web ^^.

Sigo leyendo desde el curro.

Eleкtro

Cita de: Carolina Sanchez en 27 Noviembre 2013, 17:24 PM
En mi proyecto, uso autoplay como interfaz para seleccionar los .exe

Mi pregunta es si cabe la posibilidad de cerrar, matar la aplicación de ese .exe, no del autoplay ni desde el autoplay.

Vamos a ver, Carolina, sigo diciéndote lo mismo, está el autoplay media studio, el autoplay menu designer, autoplay menu builder, ny autoplay, y decenas de aplicaciones de autoplay más, si no especificas concrétamente cual estás usando dudo que puedas recibir la ayuda que necesitas, aunque ya te digo que yo no he usado ese tipo de software...pero bueno.

Al menos el autoplay media studio tiene un motor de Scirpting, que puedes usar como usas Batch para indicar las órdenes, así que si usas dicho programa, lo lógico es hacerlo usando ese engine de scripting, no con Batch. (la forma de hacerlo la tienes en mi primer post).

Para dejarlo claro, en Batch no puedes hacer eso, Batch es muy simple, no puedes capturar los eventos del teclado, las pulsaciones. pero una alternativa sencilla y eficaz sería usando el lenguaje AutoIt (para crear un Hotkey global), aunque para eso debes tener un conocimiento mínimo de lo que intentas hacer, pues es muy distinto a Batch.

Saludos!