Registrado: Sep 21, 2004 Mensajes: 42 Ubicación: Lima
Publicado: 12/07/2005 10:41:42 amAsunto:
Hola luckyz:
Crea un formulario, ponle un TextBox y un CommandButton, luego pega este código:
Código:
Option Explicit
Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)
Private 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 * 260
End Type
Private Sub Command1_Click()
Dim hSnapShot As Long
Dim uProceso As PROCESSENTRY32
Dim res As Long, bProcesoAbierto As Boolean
hSnapShot = CreateToolhelpSnapshot(2&, 0&)
If hSnapShot <> 0 Then
uProceso.dwSize = Len(uProceso)
res = ProcessFirst(hSnapShot, uProceso)
Do While res
If LCase(Text1.Text) = LCase(Left$(uProceso.szExeFile, InStr(uProceso.szExeFile, Chr$(0)) - 1)) Then
bProcesoAbierto = True
Exit Do
End If
res = ProcessNext(hSnapShot, uProceso)
Loop
If bProcesoAbierto Then
MsgBox "El proceso " & Text1.Text & " está abierto con el ProcessID: " & uProceso.th32ProcessID
Else
MsgBox "El proceso " & Text1.Text & " no está abierto."
End If
Call CloseHandle(hSnapShot)
End If
End Sub
Ahora, ejecuta el programa y escribe en el Text1 el nombre de la aplicación, pulsa Command1 para averiguar si está abierta o no.
Espero que te sirva. _________________ Saludos,
Gustavo Alegre.
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro