SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: jodijo5 en Miércoles 21 de Septiembre de 2005, 17:45

Título: Capturar Solo Ventana Activa
Publicado por: jodijo5 en Miércoles 21 de Septiembre de 2005, 17:45
ahola amigos, tengo un problema y es urgente, porfa; tengo que capturar la pantalla pero solo de la ventana activa, y no se como hacerlo; no lo quiero con todo y el escritorio, solo quiero la ventana activa; ya probe usando send keys para mandar al teclado ctrl+ alt+ prtsc, pero no responde, probe con el .net, pero existe un problema no puedo hacer DLL's, asi que por ahi vi algo sobre capturar todo el escritorio pero por meido de apis, pero eso no lo puedo aplicar a lo que yo quiero, porfa ayudenme, es urgente. gracias de antemano por su cooperacion
Título: Re: Capturar Solo Ventana Activa
Publicado por: DrakerDG en Jueves 22 de Septiembre de 2005, 14:28
:comp: Para capturar la ventana activa manualmente se usa alt+prtscr, utilizando SentKeys sería %{PRTSC}, pero no funciona, entonces se puede utilizar el API con el siguiente procedimiento:

Código: Text
  1.  
  2. Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
  3.   bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
  4. Private Const KEYEVENTF_KEYUP = &H2
  5. Private Const VK_SNAPSHOT = &H2C
  6. Private Const VK_MENU = &H12
  7.  
  8.  
  9.  

Puedes crear un procedimiento de la siguiente manera:

Código: Text
  1.  
  2. Sub AltPrtScr()
  3.     keybd_event VK_MENU, 0, 0, 0
  4.     keybd_event VK_SNAPSHOT, 0, 0, 0
  5.     keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
  6.     keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
  7.    
  8. End Sub
  9.  
  10.  
  11.  

Lo llamas y listo. Revisa el codigo adjunto  :hola: