Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

Cómo copiar la pantalla o la ventana activa al Portapapeles desde Visual Basic

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 240653
Resumen
En este artículo se muestra cómo copiar la ventana activa o toda la pantalla en el Portapapeles y la imagen de impresión mediante programación.
Más información
El código incluido en el artículo de Knowledge Base:
161299 Cómo capturar e imprimir la pantalla, una forma o cualquier ventana
muestra cómo capturar un formulario o ventana, incluida la pantalla y colocarlo en un objeto Picture de Visual Basic. Si es el único requisito copiar la pantalla o la ventana activa en el Portapapeles, la API keybd_event es mucho más fácil y más bajo overhead enfocar. Una llamada a la API keybd_event tiene la misma funcionalidad que si escribe las combinaciones de teclas Impr Pant (copiar la pantalla al Portapapeles) o ALT + Impr Pant (copia la ventana activa en el Portapapeles). Si también necesita imprimir la imagen, un control PictureBox oculto puede proporcionar esta funcionalidad.

Ejemplo paso a paso

  1. Inicie un nuevo proyecto EXE estándar de Visual Basic. De forma predeterminada, se crea Form1.
  2. Agregue tres botones y un control PictureBox a Form1.
  3. Agregue el código siguiente en la sección de declaraciones generales de Form1:
    Option ExplicitPrivate Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _   bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)Private Declare Function GetVersionExA Lib "kernel32" _      (lpVersionInformation As OSVERSIONINFO) As IntegerPrivate Type OSVERSIONINFO    dwOSVersionInfoSize As Long    dwMajorVersion As Long    dwMinorVersion As Long    dwBuildNumber As Long    dwPlatformId As Long    szCSDVersion As String * 128End TypePrivate Const KEYEVENTF_KEYUP = &H2Private Const VK_SNAPSHOT = &H2CPrivate Const VK_MENU = &H12Dim blnAboveVer4 As BooleanPrivate Sub Command1_Click()    If blnAboveVer4 Then        keybd_event VK_SNAPSHOT, 0, 0, 0    Else        keybd_event VK_SNAPSHOT, 1, 0, 0    End IfEnd SubPrivate Sub Command2_Click()    If blnAboveVer4 Then        keybd_event VK_SNAPSHOT, 1, 0, 0    Else        keybd_event VK_MENU, 0, 0, 0        keybd_event VK_SNAPSHOT, 0, 0, 0        keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0        keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0    End IfEnd SubPrivate Sub Command3_Click()    ' Load the captured image into a PictureBox and print it    Picture1.Picture = Clipboard.GetData()    Printer.PaintPicture Picture1.Picture, 0, 0    Printer.EndDocEnd SubPrivate Sub Form_Load()    Dim osinfo As OSVERSIONINFO    Dim retvalue As Integer       osinfo.dwOSVersionInfoSize = 148    osinfo.szCSDVersion = Space$(128)    retvalue = GetVersionExA(osinfo)    If osinfo.dwMajorVersion > 4 Then blnAboveVer4 = True    Picture1.Visible = False    Command1.Caption = "Print Screen"    Command2.Caption = "Alt+Print Screen"    Command3.Caption = "Print Image"End Sub					
  4. Abra Microsoft Paint y, a continuación, ejecute el proyecto.
  5. Haga clic en el botón Imprimir pantalla , cambie a la pintura y presione CTRL+v para pegar el contenido del Portapapeles en Paint. Se pega toda la pantalla.
  6. Haga clic en el botón Alt + Impr Pant , cambiar a pintar como antes y vuelva a presionar CTRL+v . Se pega sólo la ventana activa.
  7. Haga clic en el botón Imprimir de la imagen y la imagen capturada imprimirá (utilizando un control PictureBox oculto).
Referencias
Para obtener información adicional, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
161299 Cómo capturar e imprimir la pantalla, una forma o cualquier ventana

189249 Cómo determinar qué versión de Windows de 32 bits se está utilizando
ALT ALTPRINTSCREEN DE IMPR PANT + IMPR PANT

Warning: This article has been translated automatically

Propiedades

Id. de artículo: 240653 - Última revisión: 10/31/2013 09:56:00 - Revisión: 3.0

Microsoft Visual Basic 5.0 Learning Edition, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition

  • kbapi kbclipboard kbhowto kbprint kbmt KB240653 KbMtes
Comentarios