Como copiar a tela ou a janela ativa para a área de transferência do Visual Basic

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 240653
Sumário
Este artigo demonstra como programaticamente copiar a janela ativa ou toda a tela para a área de transferência e imprimir a imagem.
Mais Informações
O código incluído no artigo da Base de Conhecimento:
161299 Como capturar e imprimir a tela, um formulário ou qualquer janela
mostra como capturar qualquer formulário ou janela, incluindo a tela e colocá-lo em um objeto de imagem do Visual Basic. Se o único requisito é copiar a tela ou a janela ativa para a área de transferência, o keybd_event API é um muito mais fácil e mais baixa sobrecarga abordagem. Chamando a API keybd_event obtém a mesma funcionalidade inserindo as combinações de teclas PRINTSCRN (copiar a tela para a área de transferência) ou ALT + PRINTSCRN (cópia da janela ativa para a área de transferência). Se você também precisar imprimir a imagem, uma PictureBox oculto pode fornecer esta funcionalidade.

Exemplo passo a passo

  1. Inicie um novo Projeto EXE Padrão do Visual Basic. O Form1 é criado por padrão.
  2. Adicione três CommandButtons e um PictureBox ao Form1.
  3. Adicione o seguinte código na seção General Declarations do 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. Abrir o Microsoft Paint e, em seguida, executar o projeto.
  5. Clique no botão Print Screen , alterne para o Paint e pressione CTRL + V para colar o conteúdo da área de transferência no Paint. A tela inteira é colada.
  6. Clique no botão Alt + Print Screen , alterne para Paint como antes e pressione CTRL + V novamente. Somente a janela ativa é colada.
  7. Clique no botão Imprimir imagem e a imagem capturada imprimirá (usando um PictureBox oculto).
Referências
Para obter informações adicionais, clique nos números de artigos abaixo para visualizá-los na Base de Conhecimento da Microsoft:
161299 Como capturar e imprimir a tela, um formulário ou qualquer janela

189249 Como determinar qual versão do Windows de 32 bits está sendo usado
ALTPRINTSCREEN DE PRINTSCREEN ALT + PRINTSCREEN

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 240653 - Última Revisão: 02/02/2016 04:28:00 - Revisão: 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 KbMtpt
Comentários