vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Bei Bildschirmfoto Form nicht aufnehmen? 
Autor: VIVAX
Datum: 26.12.09 17:49

Mit Hilfe dieser Klasse können Screenshots erstellt werden.

folgende Möglichkeiten bestehen:
- vollständiger Desktop
- aktives Fenster
- benutzerdefinierter Bereich
- anhand des Handels des Fensters

benötigte Namespaces:
System
System.Runtime.InteropServices
System.Drawing
System.Windows.Forms

''' <summary>
''' Klasse zum erzeugen beliebiger Screenshots
''' </summary>
Public Class Screenshot
    Public Sub New()
    End Sub
    
    Private Structure RECT
        Public Left As Integer
        Public Top As Integer
        Public Right As Integer
        Public Bottom As Integer
    End Structure
    
    <DllImport("user32.dll")> _
    Private Shared Function GetWindowRect(ByVal hWnd As IntPtr, ByRef lpRect As _
RECT) As Boolean
    End Function
    
    <DllImport("user32.dll")> _
    Private Shared Function GetForegroundWindow() As Integer
    End Function
    
    ''' <summary>
    ''' Erzeugt ein Screenshot vom gesamten Desktop.
    ''' </summary>
    ''' <returns>Bitmap</returns>
    Public Function WholeDesktop() As Bitmap
        Return CreateScreenshot(0, 0, Screen.PrimaryScreen.Bounds.Width, _
  Screen.PrimaryScreen.Bounds.Height)
    End Function
    
    ''' <summary>
    ''' Erzeugt ein Screenshot vom übergebenen Bereich.
    ''' </summary>
    ''' <param name="topleft">Punkt des Bereich oben - links</param>
    ''' <param name="bottomRight">Punkt des Bereich unten - rechts</param>
    ''' <returns>Bitmap</returns>
    Public Function UserDefined(ByVal topleft As Point, ByVal bottomRight As _
  Point) As Bitmap
        Return CreateScreenshot(topleft.X, topleft.Y, bottomRight.X, _
bottomRight.Y)
    End Function
    
    ''' <summary>
    ''' Erzeugt ein Screenshot vom Fenster des übergebenen Handels
    ''' </summary>
    ''' <param name="windowhandle"></param>
    ''' <returns>Bitmap</returns>
    Public Function UserDefinedWindowHandle(ByVal windowhandle As IntPtr) As _
  Bitmap
        Return CreateScreenshot(windowhandle)
    End Function
    
    ''' <summary>
    ''' Erzeugt ein Screenshot vom aktiven Fenster.
    ''' </summary>
    ''' <returns>Bitmap</returns>
    Public Function ActiveWindow() As Bitmap
        Return CreateScreenshot(DirectCast(GetForegroundWindow(), _
  System.IntPtr))
    End Function
    
    Private Function CreateScreenshot(ByVal left As Integer, ByVal top As _
  Integer, ByVal width As Integer, ByVal height As Integer) As Bitmap
        Dim bmp As New Bitmap(width, height)
        Dim g As Graphics = Graphics.FromImage(bmp)
        g.CopyFromScreen(left, top, 0, 0, New Size(width, height))
        g.Dispose()
        Return bmp
    End Function
    
    Private Function CreateScreenshot(ByVal windowhandle As IntPtr) As Bitmap
        Dim windowRectangle As RECT
        GetWindowRect(windowhandle, windowRectangle)
        Return CreateScreenshot(windowRectangle.Left, windowRectangle.Top, _
  windowRectangle.Right - windowRectangle.Left, windowRectangle.Bottom - _
  windowRectangle.Top)
    End Function
End Class

Gruss
VIVAX

}
}
}

1:0 für Visual Basic.NET

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Bei Bildschirmfoto Form nicht aufnehmen?1.643blugys26.12.09 14:32
Re: Bei Bildschirmfoto Form nicht aufnehmen?1.137VIVAX26.12.09 17:49
Re: Bei Bildschirmfoto Form nicht aufnehmen?1.074blugys26.12.09 17:59
Re: Bei Bildschirmfoto Form nicht aufnehmen?979VB.NET200526.12.09 19:09
Re: Bei Bildschirmfoto Form nicht aufnehmen?986blugys26.12.09 19:30

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel