Foro de elhacker.net

Programación => 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:

Código:
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
  1. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  2.        (ByVal lpClassName As String, _
  3.        ByVal lpWindowName As String) As Long
  4.  
  5. Sub Form_Load()
  6.    ' La clase del Block de notas es Notepad, para saber la clase de un programa
  7.    ' usa el programa Spy++ que viene con visual studio (hay otros tmb...)
  8.    If FindWindows(vbNullString, "notepad") > 0 Then
  9.         Msgbox "El block de notas esta abierto"
  10.    else
  11.         Msgbox "El block de notas esta cerrado"
  12.   End If
  13. End Sub
  14.  

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
Mira este ejemplo que hize asi al voleo

Código
  1. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  2.        (ByVal lpClassName As String, _
  3.        ByVal lpWindowName As String) As Long
  4.  
  5. Sub Form_Load()
  6.    ' La clase del Block de notas es Notepad, para saber la clase de un programa
  7.    ' usa el programa Spy++ que viene con visual studio (hay otros tmb...)
  8.    If FindWindows(vbNullString, "notepad") > 0 Then
  9.         Msgbox "El block de notas esta abierto"
  10.    else
  11.         Msgbox "El block de notas esta cerrado"
  12.   End If
  13. End Sub
  14.  

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
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...