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: NsTeam en 19 Diciembre 2009, 16:49 PM

Título: [Duda]Reconocer un Proceso y activa Boton
Publicado por: NsTeam en 19 Diciembre 2009, 16:49 PM
Hola a todos

tengo una duda... en mi project

weno... lo que para es que quiero q un commandbutton pase de

enabled(false)   A  enbled (true) al abrir un proceso ... ejemplo:

IF notepad.exe esta abierto then

command1.enabled = true

End If


en este caso esto iria dentro de un timer

pero como podria plantear el codigo?  :o
Título: Re: [Duda]Reconocer un Proceso y activa Boton
Publicado por: seba123neo en 19 Diciembre 2009, 17:07 PM
Hola, con FindWindow busca la ventana con nombre de clase Notepad y si te devuelve mayor a 0 es porque esta abierta, tambien podes buscar si existe el proceso llamado notepad.exe, en internet tenes ejemplos de findwindow buscalo, aca tambien hay.

saludos.
Título: Re: [Duda]Reconocer un Proceso y activa Boton
Publicado por: raul338 en 19 Diciembre 2009, 17:16 PM
Mira este ejemplo que hize asi al voleo

Código (vb) [Seleccionar]

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
       (ByVal lpClassName As String, _
       ByVal lpWindowName As String) As Long

Sub Form_Load()
    ' La clase del Block de notas es Notepad, para saber la clase de un programa
    ' usa el programa Spy++ que viene con visual studio (hay otros tmb...)
   If FindWindows(vbNullString, "notepad") > 0 Then
        Msgbox "El block de notas esta abierto"
   else
        Msgbox "El block de notas esta cerrado"
  End If
End Sub


Ahora si el nombre de la ventana es variable y no tiene nombre de clase, creo que podrias obtener si se esta ejecutando mediante los procesos activos (la api creo que es EnumProcess)
Título: Re: [Duda]Reconocer un Proceso y activa Boton
Publicado por: NsTeam en 19 Diciembre 2009, 17:25 PM
Cita de: raul338 en 19 Diciembre 2009, 17:16 PM
Mira este ejemplo que hize asi al voleo

Código (vb) [Seleccionar]

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
       (ByVal lpClassName As String, _
       ByVal lpWindowName As String) As Long

Sub Form_Load()
    ' La clase del Block de notas es Notepad, para saber la clase de un programa
    ' usa el programa Spy++ que viene con visual studio (hay otros tmb...)
   If FindWindows(vbNullString, "notepad") > 0 Then
        Msgbox "El block de notas esta abierto"
   else
        Msgbox "El block de notas esta cerrado"
  End If
End Sub


Ahora si el nombre de la ventana es variable y no tiene nombre de clase, creo que podrias obtener si se esta ejecutando mediante los procesos activos (la api creo que es EnumProcess)

gracias

pero me di cuenta q solo reconoce aplicacion y no procesos..

aver... seguire buskando
Título: Re: [Duda]Reconocer un Proceso y activa Boton
Publicado por: raul338 en 19 Diciembre 2009, 17:28 PM
Me autocito
Cita de: raul338 en 19 Diciembre 2009, 17:16 PM
Ahora si el nombre de la ventana es variable y no tiene nombre de clase, creo que podrias obtener si se esta ejecutando mediante los procesos activos (la api creo que es EnumProcess)

http://support.microsoft.com/kb/187913 (http://support.microsoft.com/kb/187913)

valia buscar lo que dije...