FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Obtener la ruta de un ejecutable que esta en la lista de procesos para terminarlo
Hola amigos,,,,
tengo un grave problema,,,, en una maquina muyyy remota, estoy ejecutando un software que se esta corriendo invisible ( solo se ve en la lista de procesos) y solo conozco el nombre del ejecutable, no se en que ruta lo instalo el cliente, es posible averiguar la ruta en que esta, para poder terminar ese proceso? Gracias! |
#2
|
||||
|
||||
Bueno, tienes varias opciones para hacer lo que pides:
1. Conociendo el nombre del ejecutable puedes realizar una búsqueda por el disco duro hasta dar con el archivo. 2. Sabiendo que esta listado en los procesos, puedes obtener dicha lista y de ahí extraer la ruta del proceso. Todo ello lo tienes ya en el foro, solo necesitas usar la búsqueda y podrás dar con la respuesta. Aunque si yo tuviese que elegir, elegiría la segunda opción pues seguramente sea más rápida. Por supuesto puede haber más opciones pero estas son las que se me han ocurrido. Y sobre terminar el proceso, tambien esta tratado en el foro, asi que te recomiendo que dediques un poco de tiempo a su búsqueda.
__________________
"La recompensa de una buena acción está en haberla hecho" |
#3
|
||||
|
||||
Bueno con esta funcion creo que podras cerrar el proceso.
|
#4
|
|||
|
|||
No necesitas la ruta para terminar un proceso, solo Process Id
Código:
// uses TlHelp32; function GetProcessIdByName(const ExeName: string): Integer; var PE: TProcessEntry32; hSS: THandle; s: string; begin Result := 0; hSS := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, GetCurrentProcessId); PE.dwSize := SizeOf(PE); Process32First(hSS, PE); repeat s := PE.szExeFile; if CompareText(s, ExeName) = 0 then begin Result := PE.th32ProcessID; Break; end; until not Process32Next(hSS, PE); CloseHandle(hSS); end; procedure KillProcessById(ProcessId: Integer); var h: THandle; begin h := OpenProcess(PROCESS_TERMINATE, False, ProcessId); if h = 0 then Exit; TerminateProcess(h, 0); CloseHandle(h); end; function GetFullExePathById(ProcessId: Integer): string; var ME: TModuleEntry32; hSS: THandle; s: string; begin Result := ''; hSS := CreateToolHelp32SnapShot(TH32CS_SNAPMODULE, ProcessId); ME.dwSize := SizeOf(ME); Module32First(hSS, ME); repeat s := LowerCase(ME.szExePath); if Pos('.exe', s) <> 0 then begin Result := s; Break; end; until not Module32Next(hSS, ME); CloseHandle(hSS); end; |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Acceder a la lista de procesos | IZO | API de Windows | 9 | 25-04-2007 20:31:44 |
Lista de procesos de mi ordenador | Reinery | C++ Builder | 7 | 16-12-2006 01:15:05 |
Obtener Ruta de Imagen para Bitbtn | fliper | Gráficos | 3 | 13-09-2006 10:07:25 |
Obtener el directorio donde está el ejecutable | daly | Varios | 3 | 13-10-2005 19:29:18 |
Ocultar una aplicacion de la lista procesos w2000 | marceloalegre | Varios | 0 | 02-05-2005 16:26:19 |
|