Como copiar o ecrã ou a janela activa para a área de transferência do Visual Basic

Traduções de Artigos Traduções de Artigos
Artigo: 240653 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo demonstra como copiar a janela activa ou todo o ecrã para a área de transferência e imprimir a imagem através de programação.

Mais Informação

O código incluído no artigo da base de dados de conhecimento da Microsoft:
161299Como capturar e o ecrã, um formulário ou qualquer janela de impressão
mostra como capturar qualquer formulário ou janela do, incluindo o ecrã e coloque-a num objecto de imagem do Visual Basic. Se o único requisito é copiar o ecrã ou a janela activa para a área de transferência, keybd_event API é um muito mais fácil e quanto mais baixa sobrecarga abordagens. Chamar a API keybd_event obtém a mesma funcionalidade que introduzir as combinações de teclas PRINTSCRN (copiar o ecrã para a área de transferência) ou ALT + PRINTSCRN (cópia da janela activa para a área de transferência). Se também necessitar de imprimir a imagem, uma PictureBox oculto pode fornecer esta funcionalidade.

Exemplo passo a passo

  1. Inicie um novo projecto EXE padrão do Visual Basic. É criado o Form1 por predefinição.
  2. Adicione três CommandButtons e um PictureBox ao Form1.
  3. Adicione o seguinte código na secção General Declarations do Form1:
    Option Explicit
    
    Private 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 Integer
    
    Private Type OSVERSIONINFO
        dwOSVersionInfoSize As Long
        dwMajorVersion As Long
        dwMinorVersion As Long
        dwBuildNumber As Long
        dwPlatformId As Long
        szCSDVersion As String * 128
    End Type
    
    Private Const KEYEVENTF_KEYUP = &H2
    Private Const VK_SNAPSHOT = &H2C
    Private Const VK_MENU = &H12
    
    Dim blnAboveVer4 As Boolean
    
    Private Sub Command1_Click()
        If blnAboveVer4 Then
            keybd_event VK_SNAPSHOT, 0, 0, 0
        Else
            keybd_event VK_SNAPSHOT, 1, 0, 0
        End If
    End Sub
    
    Private 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 If
    End Sub
    
    Private Sub Command3_Click()
        ' Load the captured image into a PictureBox and print it
        Picture1.Picture = Clipboard.GetData()
        Printer.PaintPicture Picture1.Picture, 0, 0
        Printer.EndDoc
    End Sub
    
    Private 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 o Microsoft Paint e, em seguida, execute o projecto.
  5. Clique no botão Print Screen , mude para o Paint e prima CTRL+V para colar o conteúdo da área de transferência no Paint. Todo o ecrã é colado.
  6. Clique no botão ALT + PRINT SCREEN , mude para Paint como antes e prima CTRL+V novamente. A janela activa é colada.
  7. Clique no botão Imprimir imagens e a imagem capturada imprimirá (utilizando uma PictureBox oculto).

Referências

Para obter informações adicionais, clique nos números de artigo existentes abaixo para visualizá-los na Microsoft Knowledge Base:
161299Como capturar e o ecrã, um formulário ou qualquer janela de impressão

189249Como determinar a versão do Windows de 32 bits está a ser utilizada

Propriedades

Artigo: 240653 - Última revisão: 29 de junho de 2004 - Revisão: 2.1
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Palavras-chave: 
kbmt kbapi kbclipboard kbhowto kbprint KB240653 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 240653

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com