MONITOR DE PROCESSOS DE SISTEMA

USUARIO.EXCLUIDOS 05/08/2007 18:26:04
#229560
Olá amigos eu estou trabalhando nesse programa bem simpres de dizer. Mas eu queria da uma implementada nele ele mostra todos os aplicativos que estão sendo executados e o local onde eles se encontran... Eu queria além disso criar um botão que finalize o programa selecionado na lista tipo igual o do xp... Já que eu sou fascinado pelo 98 e ja estou controlando o ctrl+alt+del para envés de chamar o finalizar chame ele.
O projeto encontra-se anexado.
Desde ja agradeço.

Meu E-mail é: crisnao2@yahoo.com.br
USUARIO.EXCLUIDOS 11/08/2007 22:33:22
#230527
Resposta escolhida
Bem que tentei te ajudar... Mais você colocou um executável no .zip.
Tenho por regra não baixar ou executar programas que não conheço... Seja de quem for o programa...

Se quiser ajuda poste o fonte.

USUARIO.EXCLUIDOS 12/08/2007 17:55:12
#230584
Não entdi se vc não abriu pq estava no formato self-extract ou pq vc não abre arquivos zipados. se foi pq estava no formato self-extract eu peço desculpas, e agora eu postei o fonte somente zipado é só descompactar...

Agradeço desde já o interesse em ajudar...

USUARIO.EXCLUIDOS 12/08/2007 20:52:57
#230596
Como só tinha um executável dentro do .zip nem perdi tempo verificando se era um self-extract ou não.

O que vc quer é bem simples, no evento Double click do formulário principal adicione o seguinte:

Private Sub List1_DblClick()
Call CloseProcess(List1.Text)
End Sub


Adicione o código abaixo num módulo:
Option Explicit

Public Const TH32CS_SNAPPROCESS As Long = 2
Public Const MAX_PATH As Long = 260

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 Const PROCESS_ALL_ACCESS As Long = &H1F0FFF

Public Declare Function CreateToolhelp32Snapshot Lib "kernel32" _
(ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Public Declare Function ProcessFirst Lib "kernel32" _
Alias "Process32First" (ByVal hSnapshot As Long, _
uProcess As PROCESSENTRY32) As Long
Public Declare Function ProcessNext Lib "kernel32" _
Alias "Process32Next" (ByVal hSnapshot As Long, _
uProcess As PROCESSENTRY32) As Long
Public Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Public Declare Function TerminateProcess Lib "kernel32" _
(ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Public Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)

' Retorna True caso o aplicativo seja encontrado na lista de processos
' e encerrado, caso contrário retorna False
[c]Public Function CloseProcess(EXEName As String) As Boolean
Dim hSnapshot As Long
Dim uProcess As PROCESSENTRY32
Dim hProcess As Long

CloseProcess = False
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
If hSnapshot = -1 Then Exit Function

uProcess.dwSize = Len(uProcess)
If ProcessFirst(hSnapshot, uProcess) = 1 Then
Do
If LCase$(Left$(uProcess.szExeFile, _
InStr(1, uProcess.szExeFile, vbNullChar) - 1)) = _
LCase$(EXEName) Then
hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, _
uProcess.th32ProcessID)
CloseProcess = (TerminateProcess(hProcess, ByVal 0&) > 0)
Exit Do
End If
Loop While ProcessNext(hSnapshot, uProcess)
End If

Call CloseHandle(hSnapshot)
End Function
USUARIO.EXCLUIDOS 17/08/2007 19:56:21
#231471
JOSE.NIZ fico grato por ter me ajudado o código funcionou perfeitamente como esperado...

valeu msm...
Tópico encerrado , respostas não são mais permitidas