Screenshot/Desktop

  • VB.NET

Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von kevin89.

    Screenshot/Desktop

    Hey wie kann ich mein Screenshot Programm so ummodelieren das es die ganze Zeit mein Desktop fotographiert?
    hier mal mein Code:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Timer2_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer2.Elapsed
    3. End Sub
    4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    5. Timer1.Start()
    6. End Sub
    7. Private Sub Timer1_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed
    8. Dim CountToShot As String = 0
    9. Label2.Text -= CountToShot + 1
    10. If Label2.Text = 0 Then
    11. Me.Hide()
    12. End If
    13. If Label2.Text = -2 Then
    14. Try
    15. Dim ScreenSize As Size = New Size(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
    16. Dim screenGrab As New Bitmap(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
    17. Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(screenGrab)
    18. g.CopyFromScreen(New Point(0, 0), New Point(0, 0), ScreenSize)
    19. screenGrab.Save("C:\Screenshot\Screenshot.jpeg")
    20. MsgBox("Screenshot wurde erfolgreich erstellt!")
    21. Catch ex As Exception
    22. MsgBox("Error", MsgBoxStyle.Critical, "Error")
    23. End Try
    24. End If
    25. End Sub
    26. End Class
    Wo genau liegt das Problem?
    Was verstehst du mit "die ganze Zeit"? Jede Sekunde? Jede Hundertstel?
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia

    VB.NET-Quellcode

    1. Function CaptureScreen() As Bitmap
    2. Dim b As New Bitmap(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height)
    3. Dim g As Graphics = Graphics.FromImage(b)
    4. g.CopyFromScreen(0, 0, 0, 0, b.Size)
    5. g.Dispose()
    6. Return b
    7. End Function

    Timer Interval auf gewünschten Wert stellen.

    Timer1_Tick [...]

    VB.NET-Quellcode

    1. PictureBox1.Image = CaptureScreen()
    @ T1g0r
    ich will das es jede Sekunde gemacht wird

    @kevin89
    wohin soll ich das hier schreiben?

    Timer1_Tick [...]

    halt in ne form in den Timer wohin?
    bei mir wird es einfach immer untergringelt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Memnarch“ ()

    aber beimir ist es immer blauunterringelt
    und da staht:

    Fehler 1 Für den Parameter "e" von "Private Sub Timer1_Tick(sender As Object, e As System.EventArgs)" wurde kein Argument angegeben. C:\Dokumente und Einstellungen\*****\Desktop\VB 8 Projekte ( und Daten)\WindowsApplication1\WindowsApplication1\Form2.vb 22 9 WindowsApplication1

    also was mache ich falsch?
    sorry war gerade in einem anderen Programm xD
    ________________________________________

    äh... kann man nicht einfach diesen Code hier umschreiben?:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Timer2_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer2.Elapsed
    3. End Sub
    4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    5. Timer1.Start()
    6. End Sub
    7. Private Sub Timer1_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed
    8. Dim CountToShot As String = 0
    9. Label2.Text -= CountToShot + 1
    10. If Label2.Text = 0 Then
    11. Me.Hide()
    12. End If
    13. If Label2.Text = -2 Then
    14. Try
    15. Dim ScreenSize As Size = New Size(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
    16. Dim screenGrab As New Bitmap(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
    17. Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(screenGrab)
    18. g.CopyFromScreen(New Point(0, 0), New Point(0, 0), ScreenSize)
    19. screenGrab.Save("C:\Screenshot\Screenshot.jpeg")
    20. MsgBox("Screenshot wurde erfolgreich erstellt!")
    21. Catch ex As Exception
    22. MsgBox("Error", MsgBoxStyle.Critical, "Error")
    23. End Try
    24. End If
    25. End Sub
    26. End Class

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Memnarch“ ()

    Oh Backe,

    Kevin hat´s dir perfekt erklärt,
    lösch einfach den Code da, und klick 2x auf den Timer. Dann kopierst du den Code von Kevin und fügst noch den Interval hinzu:

    VB.NET-Quellcode

    1. TimerName.Interval=1000'Das ist eine SEKUNDE
    2. TimerName.Start()


    So jetzt kopierst du Kevins und Mein Code!

    Lg Mentras
    Sorry, bin selber noch ein Neuling in VB.

    Vielleicht liegt es ja da dran:

    VB.NET-Quellcode

    1. screenGrab.Save("C:\Screenshot\Screenshot.jpeg")


    Er überschreibt das erste Bild mit dem neuen.
    Machs so:

    VB.NET-Quellcode

    1. screenGrab.Save("C:\Screenshot\")


    €dit: Oder du hast meinen vorigen Post überlesen (Das Erreignis ist falsch, es gehört "TICK" hin)

    Lg Mentras
    Du musst natürlich immer einen anderen Dateinamen angeben. Sonst überschreibt er des vorhanden Bild.
    Anbieten würde sich eine Datums-, Zeit- bzw Datums & Zeitangabe.
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Du musst natürlich immer einen anderen Dateinamen angeben. Sonst überschreibt er des vorhanden Bild.
    Anbieten würde sich eine Datums-, Zeit- bzw Datums & Zeitangabe.
    und wie soll ich das anstellen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Memnarch“ ()