Você está offline; aguardando reconexão

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

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
Sumário
Este artigo demonstra como copiar 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 Knowledge Base:
161299 Como capturar e imprimir o ecrã, um formulário ou qualquer janela
mostra como capturar qualquer formulário ou a janela, incluindo o ecrã e introduzi-la num objecto de imagem do Visual Basic. Se for o único requisito copiar o ecrã ou a janela activa para a área de transferência, a API keybd_event está a aproximar-se uma muito mais fácil e mais baixa sobrecarga. Chamar a API keybd_event atinge 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 oculta pode fornecer esta funcionalidade.

Exemplo passo a passo

  1. Inicie um novo projecto EXE padrão do Visual Basic. Por predefinição, é criado o Form1.
  2. Adicione três CommandButtons e uma PictureBox ao Form1.
  3. Adicione o seguinte código na secçã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. Abra o Microsoft Paint e, em seguida, execute o projecto.
  5. Clique no botão de Print Screen , mude para o Paint e prima CTRL + V para colar o conteúdo da área de transferência no Paint. O ecrã inteiro é colado.
  6. Clique no botão Alt + Print Screen , mude para o Paint como antes e prima novamente CTRL + V . Apenas a janela activa é colada.
  7. Clique no botão Imprimir imagem e a imagem capturada imprimirá (utilizando uma PictureBox oculta).
Referências
Para obter informações adicionais, clique nos números de artigo abaixo para visualizá-los na Base de dados de Conhecimento Microsoft:
161299 Como capturar e imprimir o ecrã, um formulário ou qualquer janela

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

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 240653 - Última Revisão: 02/02/2016 03:22: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