Kopieren des Bildschirms oder des aktiven Fensters in die Zwischenablage von Visual Basic

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 240653 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
240653 How To Copy the Screen or Active Window to the Clipboard from Visual Basic
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

In diesem Artikel wird beschrieben, wie das aktive Fenster bzw. der gesamte Bildschirm in die Zwischenablage kopiert und wie das Bild gedruckt wird.

Weitere Informationen

Der Code im Knowledge Base-Artikel
161299 Wie Aufzeichnen und Drucken des Bildschirms, eines Formulars oder beliebigen Fensters
zeigt, wie ein beliebiges Formular oder Fenster, einschließlich des Bildschirmfensters aufgezeichnet und in einem Visual Basic-Bildobjekt platziert werden kann. Wenn lediglich das aktive Fenster bzw. der Bildschirm in die Zwischenablage kopiert werden soll, ist die keybd_event-API die bedeutend einfachere und weniger aufwändige Methode. Das Aufrufen der keybd_event-API hat die gleiche Funktion wie das Eingeben der Schlüsselkombinationen PRINTSCRN (Kopieren des Bildschirms in die Zwischenablage) oder ALT+PRINTSCRN (Kopieren des aktiven Fensters in die Zwischenablage). Wenn Sie das Bild auch drucken möchten, kann ein ausgeblendetes PictureBox-Steuerelement diese Funktionalität bereitstellen.

Schrittweises Beispiel

  1. Starten Sie ein neues Visual Basic Standard-EXE-Projekt. Form1 wird standardmäßig erstellt.
  2. Fügen Sie Form1 drei CommandButtons-Elemente und ein PictureBox-Element hinzu.
  3. Fügen Sie den folgenden Code in den Abschnitt "Allgemeine Deklarationen" von Form1 hinzu:
    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. Öffnen Sie Microsoft Paint, und führen Sie das Projekt aus.
  5. Klicken Sie auf die Schaltfläche Druck, wechseln Sie zu Paint, und drücken Sie STRG+V, um den Inhalt der Zwischenablage in Paint einzufügen. Der gesamte Bildschirm wird eingefügt.
  6. Klicken Sie auf die Schaltfläche Alt+Druck, wechseln Sie wie zuvor zu Paint, und drücken Sie erneut STRG+V. Nur das aktive Fenster wird eingefügt.
  7. Klicken Sie auf die Schaltfläche Bild drucken; das Bild wird (mithilfe eines ausgeblendeten PictureBox-Steuerelements) gedruckt.

Informationsquellen

Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
161299 Wie Aufzeichnen und Drucken des Bildschirms, eines Formulars oder beliebigen Fensters

189249 Wie Bestimmen wie die 32-Bit-Windows-Version von verwandt wird

Eigenschaften

Artikel-ID: 240653 - Geändert am: Montag, 25. Juni 2007 - Version: 2.1
Die Informationen in diesem Artikel beziehen sich auf:
  • 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 6.0 Enterprise Edition
Keywords: 
kbapi kbclipboard kbhowto kbprint KB240653
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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