Visual Basic - DeskTop

Life is soft - evento anual de software empresarial
 
Vista:

DeskTop

Publicado por Txus (3 intervenciones) el 04/06/2001 20:55:55
Me gustaria saber si alguien sabe como capturar el escritorio de windows en un fichero y luego plancharlo en pantalla, en un formulario.

Agradezco buestra ayuda, Un saludo EYES
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:DeskTop

Publicado por BENJO (167 intervenciones) el 05/06/2001 23:11:32
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Option Explicit

Public Function Captura_escritorio(ByVal ArchivoDestino$) As Boolean
Call keybd_event(vbKeySnapshot, 1, 0, 0)
SavePicture Clipboard.GetData(vbCFBitmap), ArchivoDestino$ '
'ArchivoDestino es el nombre y path a dar al bmp que se guarda con
'SavePicture. Con loadPicture, podés lebvantar el mismo BMP y cargarlo
'al Form
End Function
' Fuente original de Orlando Zuberbühler un colega Ecuatoriano
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

RE:DeskTop

Publicado por Mike79 (97 intervenciones) el 05/06/2001 23:33:59
He leido palabras raras en estos foros, pero ninguna como esta "y luego plancharlo en pantalla"
En México plancha significa una superficie de metal caliente, con la cual le quitan las arrugas a la ropa.
Lo cual la verdad hace que la frase se oiga realmente rara.

Si es que entiendo, lo que deseas es capturar el Escritorio de Windows y "plasmarlo" dentro de tu formulario ¿correcto?
Seria algo asi:

'--- Este programa captura una porcion de la pantalla y la pone sobre el Form
'-- cada vez que se hace un click sobre la ventana
'--
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
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 Sub Form_Click()
Dim Escritorio As Long
Escritorio = GetDC(0)
BitBlt Me.hdc, 0, 0, Me.Width / Screen.TwipsPerPixelX, Me.Height / Screen.TwipsPerPixelY, Escritorio, 0, 0, vbSrcCopy
End Sub

-
Espero te sirva y sea eso lo que tu deseas.
Si deseas guardarlo en un Fichero en lugar de colocar la imagen en el form, pon un picture box en tu formulario, cambia el Me.hdc por picture1.hDC y luego guarda la imgen como si fuera cualquier otro dibujo.
Espero te sirva.
Saludos
-
Mike79
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