Hi,
ich hab ein Powershell-Skript, welches das Ganze erledigt. Funktioniert soweit gut.
Hier mal die Anleitung:
Hab das mit einem Screenshot gemacht, welcher unter C:\Temp zwischengespeichert wird.
BosMon führt folgende Skriptdatei als Telegramereignis aus:
Code: Alles auswählen
@ECHO OFF
REM Screenshot erstellen
PowerShell.exe -Command "& 'C:\Program Files (x86)\BosMon\skripte\takeScreenshot.ps1'"
REM Auf Standarddrucker ausgeben
start /B "Drucken" "C:\Windows\system32\mspaint.exe" "C:\Temp\screenshot.png" /p %%R
Die "takeScreenshot.ps1" sieht dann wie folgt aus:
Code: Alles auswählen
[Reflection.Assembly]::LoadWithPartialName("System.Drawing")
function screenshot([Drawing.Rectangle]$bounds, $path) {
$bmp = New-Object Drawing.Bitmap $bounds.width, $bounds.height
$graphics = [Drawing.Graphics]::FromImage($bmp)
$graphics.CopyFromScreen($bounds.Location, [Drawing.Point]::Empty, $bounds.size)
$bmp.Save($path)
$graphics.Dispose()
$bmp.Dispose()
}
$bounds = [Drawing.Rectangle]::FromLTRB(4, 109, 808, 722)
screenshot $bounds "C:\Temp\screenshot.png"
Die Zahlen in der Funktion "FromLTRB" sind dann die Start/Endkoordinaten auf dem Bildschirm.
Wichtig ist dann noch, dass du in der Powershell die Execution-Policy auf unrestricted setzt (hierzu musst du im Startmenü nach Powershell (x86) suchen und diese per Rechtsklick als Administrator starten. Danach dann folgenden Befehl ausführen:
Hoffe es passt bei euch.