ich hab nen kleines Skript zum speichern von Bildschirmfotos erstellt.
wenn ich screenshots mache dann kommen die meistens einfach in paint und werden dann gespeichert.
aber ich bin zu faul andauernd paint zu öffnen, foto einzufügen, zu speichern, auszuwählen wo und dann noch zu benennen , deswegen hab ich das Skript geschriebn.
also es öffnet sich ne gui (ohne trayicon). auf der kann man auswählen wo die fotos gespeichert werden sollen, ob die Maus auf den Fotos zu sehen sein soll, welche Endung die Fotos haben sollen und man kann den Zähler für die bildnamen (die bilder heißen screen1, screen2 usw.) zurücksetzen.
Wenn man die GUI minimiert verschwindet sie aus der taskleiste und es erscheint das trayicon , man kann die gui dann über das traymenü beenden oder wiederherstelln.
Die aktuelle bildnummer sowie die optionen werden in einer ini gespeichert.
Neuerungen:
- Mit Alt+Druck kann man jetzt ein Screenshot vom aktuellen Fenster machen.
- Im traymenü steht jetzt Wiederherstellen anstatt maximieren.
- Endungen können über ini hinzugefügt und entfernt werden
- Bei Abbruch des Folderselect-Dialogs des "Fotos speichern in...-buttons" wird nun das vorher ausgewählte verzeichniss angezeigt.
- Fade-In und out
- "Ordner öffnen"-Button hinzugefügt
Code:
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.10.0
Author: J.A.K.
Script Function:
Speichert Bildschirmfotos automatisch.
#ce ----------------------------------------------------------------------------
#include <screencapture.au3>
#include <guiconstants.au3>
#include <process.au3>
#NoTrayIcon
Opt("GUICloseOnESC", 0)
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)
Opt("GUIEventOptions", 1)
;variablen
$title = "J.A.K.'s Screen Printer"
$ending = IniRead("options.ini", "options", "endings", ".jpg|.gif|.bmp|.png")
$end = IniRead("options.ini", "options", "ending", ".jpg")
$count = IniRead("options.ini", "count", "counter", "1")
$picdir = IniRead("options.ini", "options", "picdir", @UserProfileDir & "\pictures")
$mouse = IniRead("options.ini", "options", "mouse", "GUI_CHECKED")
GUICreate($title, 250, 165)
[/autoit] [autoit][/autoit] [autoit]HotKeySet("{printscreen}", "print")
HotKeySet("!{PrintScreen}","PrintWnd")
;Button zum bestimmen des Speicherorts
$btn_picdir = GUICtrlCreateButton("Fotos speichern in...", 10, 10)
GUICtrlSetTip(-1, "Verzeichnis zum speichern der Fotos wählen", "Fotos speichern in...")
$label_picdir = GUICtrlCreateLabel($picdir, 10, 47, 350)
;Button zum öffnen des Speicherortes
$btn_openfolder = GUICtrlCreateButton("Ordner öffnen", 120, 10)
GUICtrlSetTip(-1, "Ordner mit den Fotos öffnen", "Ordner öffnen")
;Checkbox zum ein- oder ausblenden der Maus
$box_mouse = GUICtrlCreateCheckbox("Maus zeigen", 10, 72)
GUICtrlSetTip(-1, "Maus im Foto ein- bzw. ausblenden", "Maus zeigen")
GUICtrlSetState($box_mouse, $mouse)
;Combobox zur Bestimmung der Endung
GUICtrlCreateLabel("Endung",10, 1360)
$combo_ending = GUICtrlCreateCombo("", 10, 103)
GUICtrlSetData($combo_ending, $ending)
GUICtrlSetTip(-1, "Endung der Fotos wählen", "Dateiendung")
GUICtrlSetData($combo_ending, $end)
;Button zum zurücksetzen des Zählers, der die Zahl am Ende des Bildernamens bestimmt.
$btn_counter = GUICtrlCreateButton("Bildzähler zurücksetzen", 9, 135)
GUICtrlSetTip(-1, "Setzt Bildzähler auf 1", "Bildzähler zurücksetzen")
;Tray-item zum Maximieren
$Tray_show = TrayCreateItem("Wiederherstellen", -1, 2)
TrayItemSetOnEvent($Tray_show, "maximize")
;Tray-item zum Schließen.
$Tray_exit = TrayCreateItem("Schließen", -1, 3)
TrayItemSetOnEvent($Tray_exit, "quit")
;Tray-item um den Speicherordner zu öffnen.
TrayCreateItem("Fotos zeigen", -1, 0)
TrayItemSetOnEvent(-1, "openfolder")
;Seperator im Tray zwischen maximieren und schliessen.
TrayCreateItem("", -1, 1)
;nachdem alle controls erstellt sind wird das GUI gezeigt.
WinSetTrans($title, "", 0)
GUISetState()
fade("in")
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
quit()
Case $msg = $GUI_EVENT_MINIMIZE
fade("out")
GUISetState(@sw_hide)
Opt("TrayIconHide", 0)
Case $msg = $btn_picdir
$fileselect = FileSelectFolder("Fotos speichern in...", -1, 7,@UserProfileDir & "\pictures")
If @error Then
;ich mag not einfach nicht ;-P
Else
$picdir = $fileselect
EndIf
GUICtrlSetData($label_picdir, $picdir)
Case $msg = $btn_counter
IniWrite("options.ini", "count", "counter", "1")
Case $msg = $btn_openfolder
openfolder()
EndSelect
$ending = IniRead("options.ini", "options", "endings", ".jpg|.gif|.bmp|.png")
WEnd
Func print()
If GUICtrlRead($box_mouse) = $gui_checked Then
$mouse = True
ElseIf GUICtrlRead($box_mouse) = $gui_unchecked Then
$mouse = False
EndIf
$count = IniRead("options.ini", "count", "counter", "1")
IniWrite("options.ini", "count", "counter", $count+1)
$end = GUICtrlRead($combo_ending)
_ScreenCapture_Capture($picdir & "\screen" & $count & $end,0,0,-1,-1,$mouse)
EndFunc
Func printWnd()
If GUICtrlRead($box_mouse) = $gui_checked Then
$mouse = True
ElseIf GUICtrlRead($box_mouse) = $gui_unchecked Then
$mouse = False
EndIf
$count = IniRead("options.ini", "count", "counter", "1")
IniWrite("options.ini", "count", "counter", $count+1)
$end = GUICtrlRead($combo_ending)
$title = WinGetTitle("")
$hWnd = WinGetHandle($title)
_ScreenCapture_CaptureWnd($picdir & "\screen" & $count & $end, $hWnd, 0, 0, -1, -1, $mouse)
EndFunc
Func quit()
IniWrite("options.ini", "options", "picdir", $picdir)
IniWrite("options.ini", "options", "ending", GUICtrlRead($combo_ending))
IniWrite("options.ini", "options", "mouse", GUICtrlRead($box_mouse))
IniWrite("options.ini", "options", "endings", $ending)
fade("out")
Exit
EndFunc
Func maximize()
GUISetState()
fade("in")
Opt("TrayIconHide", 1)
EndFunc
Func fade($dir, $title = $title)
If $dir = "in" Then
For $trans = 0 To 255
WinSetTrans($title,"",$trans)
$trans+=1
WinSetTrans($title,"",$trans)
$trans+=1
WinSetTrans($title,"",$trans)
$trans+=1
WinSetTrans($title,"",$trans)
Sleep(1)
Next
EndIf
If $dir = "out" Then
For $trans = 255 To 0 Step -1
WinSetTrans($title,"",$trans)
$trans-=1
WinSetTrans($title,"",$trans)
$trans-=1
WinSetTrans($title,"",$trans)
$trans-=1
WinSetTrans($title,"",$trans)
Sleep(1)
Next
EndIf
EndFunc
Func openfolder()
_RunDOS('Explorer "' & $picdir & '"')
EndFunc
angehängt sind die .ico-datei, die .exe-datei und die .au3-datei, dann müsst ihr nicht auf das icon verzichten
wie findet ihr es?