Screenshots als Fehlerbericht– Ok, wenn es sein muss…

Download zum Post: ScreenReporterSkript herunterladen

Fehlerbehebung in Wirksystemen ist eine heikle Sache. Schön ist es, wenn Störungen mit einem

Bug Tracking Software kommuniziert werden.

Diese Vorgehensweise wird meiner Erfahrung nach nicht überall praktiziert oder “gelebt”.

So kam die Anfrage auf mich zu, ob ich eine Anwendung zur Verfügung stellen kann, die den Bildschirm abfotografiert, und dazu den Namen des betroffenen Clients beinhaltet.

Mir widerstrebt der Gedanke dafür ein Projekt in Visual Studio anzulegen.
Anstatt dessen schreibe ich lieber einen 14 Zeiler (exklusive der Kommentare;) mit AutoIt.

Neuerdings können Skripts sowohl für x64, als auch für x86 kompiliert werden (das kann es schon lange geben,- mir ist es erst heute aufgefallen).

compile_a_autoit_script
Bild 1 Editieren, Starten oder Kompilieren eines AutoIt- Skriptes

Untenstehendes Skript bewirkt, die Einblendung des Computernamens im Tray, sowie das erstellen eines Screenshots, der auf dem Desktop gespeichert wird und zum versenden bereit liegt.

[Edit]
Untenstehender Code bewirkt lediglich die Aufnahme des aktiven Fensters.
Um den vollen Bildschirm aufzunehmen muss in Zeile 20 lediglich der Parameter $captureRegion entfernt werden.

[sourcecode language=”vb”]
#Include <ScreenCapture.au3>

;~ Definition des Hotkeys -> SHIFT + ALT + D
;~ Mit dem Auslösen des Hotkeys wird die Funktion "MakesScreenshot" ausgeführt
HotKeySet("+!d", "MakesScreenshot")

;~ Dauerschleife, damit Skript nicht beendet wird
While 1
Sleep(100)
WEnd

Func MakesScreenshot()
;~ Angabe, dass kompletter Bildschirm fotografiert werden soll
Dim $captureRegion = WinGetHandle("[ACTIVE]")
;~ Anzeige einer Trayinformation, die den Namen des betroffenen Clients beinhaltet
TrayTip("Client: " & @ComputerName, "Fehlerbild wurde erstellt", 20)
;~ kurze Pause, Screenshot erst nach der Einblendung des Trayfensters eingeblendet wird
Sleep(1000)
;~ Screenshot erzeugen und in einem beliebigen Verzeichnis speichern -> Hier auf den Desktop
_ScreenCapture_CaptureWnd(@DesktopDir & "report.bmp", $captureRegion)
EndFunc
[/sourcecode]


Listing 1 Skript zur Erstellung des Screenshots

Sobald das Skript mittels Run ausgeführt wird, kann mit SHIFT + ALT + D ein Screenshot erstellt werden, der wie folgt aussehen könnte:

report

Bild 2 Screenshot Beispiel

Gregor

Gregor Woiwode ist Angestellter der heco GmbH, wo er als Sofwareentwickler und Trainer tätig ist. Sein Fokus liegt in der Erstellung von Webportalen mit dem .NET- und Angular-Framework. Von 2007 bis 2010 studierte er Telekommunikationsinformatik an der Hochschule für Telekommunikation in Leipzig und schloss den Studiengang als Bachelor of Engineering ab. Derzeit studiert er im Studiengang Wirtschaftsinformatik um die Auszeichnung Master of Science zu erhalten.

One thought on “Screenshots als Fehlerbericht– Ok, wenn es sein muss…

  1. AutoIt macht sich für kleine Alltagshelfer sehr gut.
    Datenbankzugriffe sind auch möglich. SQLite wird beispielsweise nativ unterstützt. Über ODBC können alle Datenbanken, die open connectivity unterstützen, “angezapft” werden.

What do you think? Please leave a Comment below!