Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Hendrix en 15 Marzo 2006, 22:01 PM

Título: Como saber cuando un archivo esta en ejecucion
Publicado por: Hendrix en 15 Marzo 2006, 22:01 PM
Weno, mi duda es komo "controlar" la ejecucion de un archivo, me expliko.

Supongamos que quiero saber kuando se ejekuta el regedit.exe. Hay alguna manera de kontrolar este programa????

Y atmbien otra kosa, kuando pongo esto:

Appactivate "titulo"
sendkeys "%{F4}"

Envia el sendkays sea o no el titulo de la ventana titulo....prove kon esto:

If Appactivate = "titulo" then
sendkeys "%{F4}"
End If

Pero no funciona....

Alguna manera????

Salu2

Hendrix

Título: Re: Como saber cuando un archivo esta en ejecucion
Publicado por: NYlOn en 16 Marzo 2006, 00:20 AM
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const SC_CLOSE = &HF060&
Private Const WM_SYSCOMMAND = &H112

Private Sub Timer1_Timer()
    Dim Num As Long
    Num = FindWindow(vbNullString, "Editor del Registro") 'Esto nos va a dar el hWnd de la ventana cuyo titulo sea Editor del Registro (regedit.exe)
   
    If Num > 0 Then 'si se encontro la ventana
        Call SendMessage(Num, WM_SYSCOMMAND, SC_CLOSE, ByVal 0&) 'mandamos un mensaje para que se cierre
    End If
End Sub


Eso iria en un timer con intervalo en 100 o 1000.

Saludos.-