Screenshot tool mit Powershell oder einer .exe
Hi,
ich bräuchte ein Skript oder eine .exe die einen Screenshot vom aktuellen Bildschirm macht.
Der Screenshot soll anschließend mit einer fortlaufenden Nummer in einem Ordner abgespeichert werden.
Ich hatte zuerst an eine Anwendung mit PowerShell gedacht. Diese sollte dann über eine Batch gestartet werden mit dem "-WindowStyle Hidden" Parameter.
Leider klappt das nicht so ganz.
Hat jemand vielleicht schon so eine Lösung gebaut oder weiß wie ich das am besten umsetzen kann?
Vielen Dank voraus!
ich bräuchte ein Skript oder eine .exe die einen Screenshot vom aktuellen Bildschirm macht.
Der Screenshot soll anschließend mit einer fortlaufenden Nummer in einem Ordner abgespeichert werden.
Ich hatte zuerst an eine Anwendung mit PowerShell gedacht. Diese sollte dann über eine Batch gestartet werden mit dem "-WindowStyle Hidden" Parameter.
Leider klappt das nicht so ganz.
Hat jemand vielleicht schon so eine Lösung gebaut oder weiß wie ich das am besten umsetzen kann?
Vielen Dank voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 629334
Url: https://administrator.de/contentid/629334
Ausgedruckt am: 23.11.2024 um 17:11 Uhr
7 Kommentare
Neuester Kommentar
Leider klappt das nicht so ganz.
Klar jeht dat ...Pillepalle# folder to store screenshots in
$folder = "$env:Userprofile\Desktop"
Add-Type -A System.Drawing
Add-Type -A System.Windows.Forms
Add-Type –memberDefinition '[DllImport("user32.dll")]public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);' -name Win -namespace W32
# Hide PS window
[W32.Win]::ShowWindow((Get-Process -id $pid).MainWindowHandle, 0)
# get screen size
$w = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Width
$h = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Height
# create bitmap with screensize
$bm = New-Object System.Drawing.Bitmap $w,$h
# capture Desktop
[System.Drawing.Graphics]::FromImage($bm).CopyFromScreen(0,0,0,0,"$w,$h")
# save as JPEG and dispose image object
$jpgQuality = 90
$encParams = New-Object System.Drawing.Imaging.EncoderParameters(1)
$encParams.Param = New-Object System.Drawing.Imaging.EncoderParameter ([System.Drawing.Imaging.Encoder]::Quality, $jpgQuality)
$encFormat = [System.Drawing.Imaging.ImageCodecInfo]::GetImageEncoders() | ?{$_.MimeType -eq 'image/jpeg'}
$bm.Save((join-path $folder "$(get-date -f yyyyMMdd_HHmmss).jpg"),$encFormat,$encParams)
$bm.Dispose(); $encParams.Dispose()
–id
Copy N Paste Problem beim Kopieren .... sieht man am Bindestrich den es bei dir verhunzt hat . Gedankenstrich statt Bindestrich im falschen Encoding.
Kopier es endlich richtig und stell das Encoding des Skripts richtig ein, funktioniert nämlich problemlos, getestet! Das Problem liegt auf deiner Seite. Oder versuch einfach mal das Skript selbst zu verstehen dann hat der Thread auch einen Lerneffekt.
Ich bin raus. Tschö und viel Spaß.
Ich bin raus. Tschö und viel Spaß.