ScreenCaptures werden als schwarzes Bild abgespeichert?

  • Hallo Forum,

    ich nutze in meinem Script zu Debugzwecken die ScreenCapture Funktion, um Screenshots in bestimmten Momenten zu hinterlegen, da ich das Script nachts auf Serversystemen silent ausführen lasse (es führt eine Update-Installation durch).
    Leider habe ich ausgerechnet in den Momenten in denen das Script in einen Fehler rennt weil bestimmte Fenster nicht erscheinen dann auch ein komplett schwarzes Bild als Screenshot-Datei...
    In den anderen Momenten klappt das Hinterlegen des Screenshots problemlos - die Problematik scheint also zusammen zu hängen...

    Weiß jemand womit das zusammenhängen könnte oder wie ich beim Troubleshooting in der Hinsicht vorgehen kann? Ich hatte schon überlegt ob es damit zusammenhängen kann dass sich das System nach X Minuten sperrt oder der Bildschirmschoner angeht, aber zum Teil taucht der Fehler auch schon ca 5 Minuten nach einem Neustart auf.

    Einmal editiert, zuletzt von Simon09 (30. Juni 2017 um 09:20)

  • Da du kein Script zur Verfügung gestellt hast, in dem man den Fehler evtl. finden könnte, hier ein allgemeiner Tipp...

    Leider habe ich ausgerechnet in den Momenten in denen das Script in einen Fehler rennt weil bestimmte Fenster nicht erscheinen dann auch ein komplett schwarzes Bild als Screenshot-Datei...

    Starte mit deinem Script ein Debug-Script, dass kontinuierlich überprüft, ob dein Script noch läuft... wenn ein Fehler auftritt, beendest du dein Script... und falls es beendet wurde, erstellest du mit dem Debug-Script einen Screenshot... wenn es funktioniert, weißt du, der Fehler ist in deinem Script, anderfalls liegt es daran, weil das System gesperrt wurde.

  • Das Script umfasst über 1000 Zeilen und ist super umfangreich, das zu posten wäre nicht wirklich zielführend, vor allem aber weil es denke ich nicht am Script liegt. Ich erstelle den Screenshot mit

    Code
    Func Capture1()
         _ScreenCapture_Capture("C:\logs" & "\capture1.jpg")
      EndFunc


    und rufe die Funktion an der Stelle mit Capture1() auf. Das funktioniert wie gesagt ja auch fast immer, wenn es nicht funktioniert, wird es am Server liegen, die Frage ist eben woran genau. Ich habe mittlerweile rausgefunden dass es zu fast 100% bei den Win 2012R2 Servern auftritt. Die Win 2008R2 Server hatten das Problem nicht.

    Einmal editiert, zuletzt von Simon09 (30. Juni 2017 um 11:42)

  • Ich hatte schon überlegt ob es damit zusammenhängen kann dass sich das System nach X Minuten sperrt oder der Bildschirmschoner angeht, aber zum Teil taucht der Fehler auch schon ca 5 Minuten nach einem Neustart auf.

    Dann teste mal, ob der Fehler auch auftritt, wenn du dein Script als "Administrator" startest...

  • Das hatte ich neulich bei auch schon mal bei einem Beispielskript.

    Schon mal ein anderes Bildformat getestet - z.B. BMP - um zu sehen ob es daran liegt? Kannst ja eine Zeile hinzufügen und das Bild in 2 Formaten speichern.
    Falls du Energiespar oder Mausaktivitäten vermutest: Kannst ja vorher einen MouseMove machen.

    Das kannst läuft nicht zufällig in einer RDP-Sitzung?