Alguien sabe kual es el codigo para finalizar la tarea de algun programa ??? no se si m expliko. Me refiero a la ventana esa k t sale cuando apretas ctril + alt + surp. Si alguien sabe cual es el codigo k m lo diga porfavor.
Alguien sabe kual es el codigo para finalizar la tarea de algun programa ??? no se si m expliko. Me refiero a la ventana esa k t sale cuando apretas ctril + alt + surp. Si alguien sabe cual es el codigo k m lo diga porfavor.
Primero lo que tienes que hacer es llamar a las api de windows, segundo no especificaste para que lenguaje o entorno de programación quieres el codigo.
Hola
Hace poco, hice el prgrama que tu dices, se llama mata procesos, y es mas potente que el ctrl + alt + supr, (puedes ver troyanos invisibles, etc...), en fin, aquí tienes el código, si quieres que te explique algo me lo dices, y te lo explico.
'En un módulo
Declare Function CreateToolHelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)
Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Const TH32CS_SNAPPROCESS As Long = 2&
Public Const MAX_PATH As Integer = 260
Public Const PROCESS_TERMINATE = &H1
Public Const VK_SNAPSHOT = &H2C
Public Const GW_HWNDNEXT = 2
Public Const GW_CHILD = 5
Public Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32moduleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * MAX_PATH
End Type
Public Sub GetProcess()
Form1.LST.Clear
Form1.LST2.Clear
Dim ret As String, out As String
Dim hSnapShot As Long
Dim uProcess As PROCESSENTRY32
Dim r As Long
hSnapShot = CreateToolHelpSnapshot(TH32CS_SNAPPROCESS, 0&)
If hSnapShot = 0 Then Exit Sub
uProcess.dwSize = Len(uProcess)
r = ProcessFirst(hSnapShot, uProcess)
Do While r
Form1.LST2.AddItem uProcess.th32ProcessID
Form1.LST.AddItem uProcess.szExeFile
r = ProcessNext(hSnapShot, uProcess)
Loop
Call CloseHandle(hSnapShot)
End Sub
Public Sub KillProcess(Pid2 As String)
Dim ret&
Dim ret1 As String, out As String
Dim pid As Long
pid = CLng(Pid2)
Dim lExitCode As Long
Dim hProcess As Long
hProcess = OpenProcess(PROCESS_TERMINATE, 0, pid)
ret& = GetExitCodeProcess(hProcess, lExitCode)
ret& = TerminateProcess(hProcess, lExitCode)
End Sub
'En un formulario: necesitas 2 botones y dos list box uno que se llame LST y otro LST2
Private Sub Command1_Click()
GetProcess
End Sub
Private Sub Command2_Click()
If LST.ListIndex = -1 Then
MsgBox "Selecciona un proceso", vbCritical, "Proceso sin seleccionar"
Else
If MsgBox("¿Estás seguro de querer matar este proceso?", vbQuestion + vbYesNo, "Proceso: " & LST.Text) = vbYes Then
KillProcess LST2.Text
End If
End If
GetProcess
End Sub
Private Sub Form_Load()
GetProcess
End Sub
Private Sub LST_Click()
LST2.ListIndex = LST.ListIndex
End Sub
Private Sub Timer1_Timer()
Text1 = LST.ListIndex
End Sub
'Ya esta. Por cierto, está hecho en visual basic.
Saludos, espero que te sirva de ayuda
Hola The_chacal,
Yo tambien me hice un Killer con Visual basic. El problema es que en Win2000 no va. El tuyo funciona bien en plataforma NT? Yo utilice la APi enumprocess si no recuerdo mal.
Le hchare un vistazo en la documentacion de borland a ver si consigo revitalizarlo, ya que se quedaba en la bandeja del sistema y era muy util.
Saludos
Hola;
Pues no se si funcionará, yo solo lo he probado en mi ord (S.O; windows 98), y me va perfecto...
Si quieres copiate el código, lo compilas y pruebas si va.
Saludos.
gracias, pero he vuelto a Win98 + linux. Que le follen a Win2000!!!!
un saludo.
Que le follen al win2k y al 9x, y a todos....
No seamos radicales, que si no existiese windows, muchos no tendriamos trabajo.
Personalmente el WinY2K (Windows 2000) es el mejor sistema operativo que creo nunca microsoft, sin los problemas de los 9x, sin las idioteces del XP, y sin problemas de drivers como NT.
Mi eleccion es Windows 2000 + linux, y de vez en cuando QNX y Solaris
lamento ser tan novato, no creo tener el tiempo suficiente para buscar e instalar VB en mi PC y compilar el codigo, serian tan amables de postear una direccion donde pueda bajar el ejecutable de ese codigo??? me resultaria muy util, muchas gracias
Pues si no tienes tiempo suficiente para buscar e instalarlo pero si para escribir y esperar a que te lo den todo hecho...
La proxima vez saca tiempo para leer las normas.
No vuelvas a pedir que te lo den todo hecho y mucho menos reabrir un post de hace 3 años.
Ademas posteando lo mismo en varios lugares.
Cierro el post
Marcadores