Visual Basic - portapapeles

Life is soft - evento anual de software empresarial
 
Vista:

portapapeles

Publicado por wqhunter (1 intervención) el 25/02/2006 17:34:50
Gracias gente de Web del programador por darme el espacio de preguntarles lo siguiente:

Necesito hacer un programa en Visual Basic que me permita sacar un "pantallaso" y que esa imágen se agregue a mi proyecyo para poder imprimirla ....algo así como un mini-programa de impresión de "pantallasos".....pero tengo un problema....cuando aprieto "Impr Pant" no me guarda ninguna imagen en el portapapeles....y entonces no puedo capturar nada en el Visual Basic....
Mi duda es:

¿Como puedo arreglar este problema ?
¿Como puedo generar un código que capture pantalla y que me lo agregue a mi proyecto?

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:portapapeles

Publicado por Juan_K (181 intervenciones) el 25/02/2006 19:26:14
Ejemplo
===================================================================
Private Const SRCCOPY = &HCC0020

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long

Private Sub Command1_Click()
Dim hwnd As Long
hwnd = GetDesktopWindow()
Dim hdc As Long
hdc = GetDC(hwnd)

Picture1.AutoRedraw = True
Picture1.Width = Screen.Width
Picture1.Height = Screen.Height

'copiamos la imagen al picturebox
BitBlt Picture1.hdc, 0, 0, Screen.Width / Screen.TwipsPerPixelX, Screen.Height / Screen.TwipsPerPixelY, hdc, 0, 0, SRCCOPY
Call ReleaseDC(hwnd, hdc)

'imprimes
Printer.PaintPicture Picture1.Image, 0, 0

End Sub
==================================================================
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar