Página 1 de 1

[AYUDA] DETECTAR el programa que estoy ejecutando

Publicado: 28 Nov 2013 23:47
por arleyhr
Buenas buenas, tengo un teu comun y corriente pero lo que necesito es detectar cual es el programa que abro para despues hacer cosas con el, alguien sabe como lograr esto, dectarlo?

Publicado: 29 Nov 2013 01:27
por Metafunken
Hola...

Lo tuyo es:

System.EnumerateProcesses();

Lo que hace esta funcion propia del ams es devolverte en "Tabla" la ruta del proceso y el PID del mismo, es bastante util para identificar los procesos que desees, si ejecutas como administrador tu aplicacion veras mas procesos de lo que normalmente pudieras ver, aqui abajo te dejo la manera en la cual lo puedes emplear, para visualizarlo puedes utilizar un ListBox o semejante.
Directamente de la ayuda del programa:
instances_of_file = 0;--Aun no comprendo el porque de esta estupida variable pero asi esta asentada en la ayuda, puedes eliminarla sin problemas.
file_to_check_for = "autorun.exe"; --El nombre de la aplicacion que quieres identificar en MINUSCULAS
processes = System.EnumerateProcesses();--Aqui te devuelve una tabla con todos los procesos activos en tu Sistema

for j, file_path in pairs(processes) do--Se crea un loop para obtener todos los procesos de manera logica...
--Donde la variable j contendra el PID del proceso, file_path contendra la ruta logica hacia el proceso (HDD), processes es la tabla a la cual o con la cual estas trabajando.
    file = String.SplitPath(file_path);--Se hace un split (division, particion) entre los resultados, estos resultados son alojados en la variable file_path y como te dije contienen la ruta completa hacia el ejecutable dentro del equipo, asi solo se obtendra el nombre del proceso y la extension del mismo mas adelante.
    if (String.Lower(file.Filename..file.Extension)) == file_to_check_for then--Aqui se hace una nueva sentencia que como condicion se le dice que "si en minusculas el nombre del proceso.exe es igual al que tu le estas pidiendo que busque hara algo...
        System.TerminateProcess(j);--Con esto (lo que haces) terminas el proceso pero...
--Aqui puedes hacer lo que pretendes
    end
end
Espero haya quedado claro.

Saludos.

Re: [AYUDA] DETECTAR el programa que estoy ejecutando

Publicado: 04 Dic 2013 20:01
por autoplay
:pc: ;)