mehrere Monitore per Screenshot erfassen

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    @martinr1982 Du kannst jeden Screen einzeln fotografieren:

    VB.NET-Quellcode

    1. ' Es wird ein Screenshot aller Bildschirme erstellt und in D:\Temp\ abgelegt
    2. ' Form mit einem Button
    3. Public Class Form1
    4. Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    5. For i = 0 To Screen.AllScreens.Count - 1
    6. Using bmp As Bitmap = Screenshot(i)
    7. bmp.Save(String.Format("D:\Temp\__Test{0}.png", i), Imaging.ImageFormat.Png)
    8. End Using
    9. Next
    10. End Sub
    11. Function Screenshot(index As Integer) As Bitmap
    12. ' x-Startkoordinate des Screens
    13. Dim x0 = Screen.AllScreens(index).Bounds.X
    14. Dim img = New Bitmap(Screen.AllScreens(index).Bounds.Width, Screen.AllScreens(1).Bounds.Height)
    15. Using g As Graphics = Graphics.FromImage(img)
    16. g.CopyFromScreen(x0, 0, 0, 0, img.Size)
    17. End Using
    18. Return img
    19. End Function
    20. End Class
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!