Hallo zusammen,
ich bin neu auf dem gebiet und nach langem überlegen ist mir nun eine idee gekommen was ich mal basteln könnte.
Ein Script das ScreenShots macht!
Habe auch schon ein bissl mit gearbeitet mit <alt>+<druck> und Paint öfnen spreichen, nur is das prob das die jpg Qualitat bei Paint nicht meinen wünschen enspricht und ich ein Script schreiben möchte das nach möglich keit ein Bild im *.jpg format in einem Ordner speichert ohne das Paint geöfnet werden muss.
Also ist das möglich?
Wenn ja was brauch ich alles dafür ?
ScreenShot Taker ?
-
- [ gelöst ]
-
Lankabel -
4. August 2008 um 19:02 -
Geschlossen -
Erledigt
-
-
Guck dir mal die Funktion _ScreenCapture_Capture() in der Hilfe an.
Ich hab auch mal so ein Skript gemacht. Habs hier gepostet.
Wenn de mal nich weiter weißt kannste mal in den code gucken, oder hier noch mal nachfragen. -
So ich habe nun was gebastelt
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <ScreenCapture.au3>
Dim $screen
$screen = "\ScreenShot" & @HOUR & @MIN & @SEC & @MDAY & @MON &".jpg"
HotKeySet("{printscreen}", "screen")
HotKeySet("!{printscreen}", "screenwindow")While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
WEndFunc screen()
[/autoit] [autoit][/autoit] [autoit]
_ScreenCapture_Capture(@MyDocumentsDir & $screen)
MsgBox(64, "Info", "Screenshot wurde gespeichert in: " & @MyDocumentsDir)
EndFuncFunc screenwindow()
[/autoit]
$title = WinGetTitle("")
$window = WinGetHandle($title)
_ScreenCapture_CaptureWnd(@MyDocumentsDir & $screen, $window)
MsgBox(64, "Info", "Screenshot wurde gespeichert in: " & @MyDocumentsDir)
EndFuncNun ist stell ich mir die nächste frage.
Wie kann ich das machen dass, das der nich screen @HOUR @MIN @SEC @MDAY @MON heißt sondern z.B. Screen1 und der nächste screen dann screen 2....Mfg
Lankabel
-
- Offizieller Beitrag
Hallo
Meinst du so?
Spoiler anzeigen
[autoit]#include <ScreenCapture.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Dim $screen
$screen = "\ScreenShot.jpg"
HotKeySet("{printscreen}", "screen")
HotKeySet("!{printscreen}", "screenwindow")While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
WEndFunc screen()
[/autoit] [autoit][/autoit] [autoit]
_ScreenCapture_Capture(_FileName(@MyDocumentsDir & $screen))
MsgBox(64, "Info", "Screenshot wurde gespeichert in: " & @MyDocumentsDir)
EndFunc ;==>screenFunc screenwindow()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$window = WinGetHandle("")
_ScreenCapture_CaptureWnd(_FileName(@MyDocumentsDir & $screen), $window)
MsgBox(64, "Info", "Screenshot wurde gespeichert in: " & @MyDocumentsDir)
EndFunc ;==>screenwindowFunc _FileName($sFilePath)
[/autoit]
If Not FileExists($sFilePath) Then Return $sFilePath
Local $sExt = StringTrimLeft($sFilePath, StringInStr($sFilePath, ".", -1, -1))
Local $sFile = StringTrimRight($sFilePath, StringLen($sExt) + 1)
Local $i = 0
While 1
$i += 1
If Not FileExists($sFile & $i & "." & $sExt) Then Return $sFile & $i & "." & $sExt
WEnd
EndFunc ;==>_FileNameMfg Spider
-
Spoiler anzeigen
[autoit]#include <ScreenCapture.au3>
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("{END}","_Exit")
HotKeySet("{printscreen}", "screen")
HotKeySet("!{printscreen}", "screenwindow")
Global $nr = 1While 1
[/autoit] [autoit][/autoit] [autoit]
WEndFunc _Exit()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc screen()
[/autoit] [autoit][/autoit] [autoit]
_ScreenCapture_Capture(@MyDocumentsDir &"\screen"&$nr&".jpg")
MsgBox(64, "Info", "Screenshot wurde gespeichert in: " & @MyDocumentsDir)
$nr = $nr + 1
EndFuncFunc screenwindow()
[/autoit]
$title = WinGetTitle("")
$window = WinGetHandle($title)
_ScreenCapture_CaptureWnd(@MyDocumentsDir &"\screen"&$nr&".jpg", $window)
MsgBox(64, "Info", "Screenshot wurde gespeichert in: " & @MyDocumentsDir)
$nr = $nr + 1
EndFuncSo gehts wie du meinst. Allerdings schaut er nicht ob die Datei schon existiert und überschreibt ggf. die Screens, wenn du das Script nochmal neu startest.
-
danke euch beiden