MONITOR DE PROCESSOS DE SISTEMA
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
O projeto encontra-se anexado.
Desde ja agradeço.
Meu E-mail é: crisnao2@yahoo.com.br
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.
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.
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...
Agradeço desde já o interesse em ajudar...
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:
Adicione o código abaixo num módulo:
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
JOSE.NIZ fico grato por ter me ajudado o código funcionou perfeitamente como esperado...
valeu msm...
valeu msm...
Tópico encerrado , respostas não são mais permitidas