Rubrik: Verschiedenes / Sonstiges | VB-Versionen: VB4, VB5, VB6 | 01.11.00 |
Screenshots per Quellcode erstellen Das Erstellen eines Screenshots ist mir herkömmlichen VB-Mitteln nicht möglich - hier erfahren Sie, wie es trotzdem geht. | ||
Autor: Dieter Otter | Bewertung: | Views: 34.272 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Haben auch Sie sich schon manchmal gefragt, wie man aus einer Visual-Basic Anwendung heraus Screenshots erstellen kann? Mit ein paar API-Befehlen zur Simulation der Druck-Taste ist dies ganz einfach zu realisieren. Wie möchten Ihnen hier eine Universalroutine zeigen, mit der Sie Bildschirmfotos (Screenshots) entweder für das aktuelle aktive Fenster oder für den gesamten Desktop (Bildschirmbereich) erstellen können.
' Hier alle benötigten API-Funktionen Public Declare Sub keybd_event Lib "user32" _ Alias "keybd_event" ( _ ByVal bVk As Byte, _ ByVal bScan As Byte, _ ByVal dwFlags As Long, _ ByVal dwExtraInfo As Long) ' Die nachfolgende Prozedur erstellt das Screenshot Public Sub MakeScreenshot(ByVal ActiveWindow As Boolean) ' Der Parameter ActiveWindow legt fest, ob ein Screenshot ' für das aktuelle Fenster (True) oder für gesamten ' Windows-Desktop (False)erstellt werden soll Const KEYEVENTF_KEYUP = &H2 Const VK_MENU = &H12 Const VK_SNAPSHOT = &H2C If ActiveWindow Then keybd_event VK_MENU, 0, 0, 0 '' ALT-Taste keybd_event VK_SNAPSHOT, 0, 0, 0 '' Druck-Taste keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0 If ActiveWindow Then keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0 DoEvents End Sub