Autor
|
Tema: Matar Proceso con Una linea (SRC) (Leído 4,700 veces)
|
Dessa
Desconectado
Mensajes: 624
|
No hay mucho que agregar, solo hace falta el nombre del ejecutable del proceso y para el que no sepa reestablecer el explorer luego de ejecutar el code del ejemplo (desaparecen los iconos, barra de inicio, menús de contexto, Etc, Etc) lo haga desde CTL-ALT-SUP (Aministrador, aplicaciones, tarea neva..., explorer, aceptar)
Private Sub Form_Load() Shell "cmd.exe /c Taskkill /f /IM " + "EXPLORER.EXE" End Sub
PD: para enumerar los procesos que esten corriendo "WMI" o "API EnumProcesses"
Saludos
|
|
|
En línea
|
Adrian Desanti
|
|
|
invisible_hack
Desconectado
Mensajes: 978
Invisible_Hack™ Nick Registrado ^^
|
Gracias por el code, aunque esto en realidad es usar Batch desde Visual Basic, ya que taskkill es Batch puro....solo que usada desde VB mediante el comando Shell.... De todos modos, buen aporte
|
|
|
En línea
|
"Si no visitas mi blog, Chuck te dará una patada giratoria"
|
|
|
krackwar
Desconectado
Mensajes: 900
|
mmm.. usa api's para matr procesos no otro exe Esa api si no me equvoco era la api
|
|
|
En línea
|
Mi blogBienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran. El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.
|
|
|
seba123neo
|
con la api TerminateProcess ya basta...
|
|
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
mmm.. usa api's para matr procesos no otro exe Esa api si no me equvoco era la api con la api TerminateProcess ya basta...
Lo malo es que para matar un proceso desde su nombre ejecutable necesitas obtener el PID.. y ya se nos va la linea... Saludos
|
|
|
En línea
|
|
|
|
Dessa
Desconectado
Mensajes: 624
|
Me pareció practico y directo, conociendo el nombre del exe
PD: Tambien funciona con PID: Shell "cmd.exe /c Taskkill /PID ####"
Saludos
|
|
« Última modificación: 5 Enero 2009, 01:45 am por Dessa »
|
En línea
|
Adrian Desanti
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Me pareció practico y directo, conociendo el nombre del exe
PD: Tambien funciona con PID: Shell "cmd.exe /c Taskkill /PID ####"
Saludos
Si, pero teniendo el PID es mas util usando OpenProcess y TerminateProcess MOD:Option Explicit Private Const PROCESS_TERMINATE As Long = (&H1) 'KERNEL32 Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long Private Declare Function TerminateProcess Lib "kernel32.dll" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Public Function CloseProcess(ByVal lPid As Long) As Boolean CloseProcess = CBool(TerminateProcess(OpenProcess(PROCESS_TERMINATE, 0&, lPid), 0&)) Call CloseHandle(lProc) End Function
PD: Se podria quitar el CloseHandle.. pero queda mas PRO no? Saludos
|
|
« Última modificación: 5 Enero 2009, 14:30 pm por Karcrack »
|
En línea
|
|
|
|
Dessa
Desconectado
Mensajes: 624
|
No desenfoques el punto del mensaje "Karcrack", sabiendo el nombre del Proceso a cerrar con esa linea alcanza y para mi por lo menos, me parece práctica, como nombraste al PID, yo Agregué que con el PID tambien funciona, pero como vos decis tenes que agregar 1 módulo, 3 lineas de declaracion de APIs, 1 Funcion y la llamada a la funcion desde el formulario (minimo 8 lineas) sin la "linea PRO" ni la constante que la ponemos directa sin declarar), todo esto contra una linea.
Shell "cmd.exe /c Taskkill /PID ####"
PD: No seas tan negativo, hermano, despues de todo nadie te obliga a usar el Code y quedarse en pequeñeces no suma, mas bien que resta. Saludos.
|
|
|
En línea
|
Adrian Desanti
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Lamento haberte molestado Dessa, simplemente esta poniendo la alternativa... yo tampoco obligo a que lo usen...
Bueno, saliendo de la trifulca quiero decir que he analizado el TaskKill.exe y para obtener el PID del ejecutable indicado no recorre todos los procesos , los lee desde la memoria (Aunque mis conocimientos con el Olly no son tantos como para afirmarlo ) Asi que a ver si tengo tiempo esta semana y hago una funcion para no depender del TaskKill, solo con ASM y un par de APIs Saludos
|
|
|
En línea
|
|
|
|
|
|