Ach doch, irgendwie scheint es jetzt doch zu funktionieren, Problem gelöst. Ich bedanke mich recht herzlichst bei allen Mithelfenden.
lg und schönen Abend noch
Ach doch, irgendwie scheint es jetzt doch zu funktionieren, Problem gelöst. Ich bedanke mich recht herzlichst bei allen Mithelfenden.
lg und schönen Abend noch
Also mit TrayItemSet sagt er , dass er die Funktion nicht finden kann, welche Include fehlt denn da wieder;)?
Func startcheck()
If FileExists(@StartupDir & "\ACT.lnk") Then
MsgBox(0,"Info","Text",1)
TrayItemSet($autostartitem, $TRAY_CHECKED)
Else
MsgBox(0,"Info","Text",1)
TrayItemSet($autostartitem, $TRAY_UNCHECKED)
EndIf
EndFunc
Gibt es TrayItemSet überhaupt? konnte darüber nichts finden
da soll man drauf kommen, ok jetzt meckert er nicht mehr, aber wenn die datei da ist macht er keinen Hacken ran :(( da fehlt noch was
So und dann habe ich logischerweise noch ne Startprüfung reinghauen, damit er den Hacken richtig setzt, da bemängelt er aber unchecked, gibbet das so nicht?
(letzte Function)
#include <Constants.au3>
#include <ScreenCapture.au3>
#include <File.au3>
#include <GuiButton.au3>
#include <WinAPIError.au3>
Opt("TrayMenuMode", 1) ; Hide default tray menu items
Opt("TrayAutoPause", 0) ; This will allow you to click on the TrayIcon without pause the script
TraySetIcon("Shell32.dll", -325)
TraySetClick(8) ;only show the menu when right clicking
#Tray Tip
TraySetToolTip("Andis ClippingTool - Bitte klicken für Screenshot")
;Variablen--------------------------------------------------------------------------------------------------
$Folderitem = TrayCreateItem("Clip Ordner")
$delitem = TrayCreateItem("Clip Ordner leeren")
TrayCreateItem("") ; Create a separator line.
$Spezitem = TrayCreateItem("Mess Bildschirm")
TrayItemSetState($Spezitem, $TRAY_UNCHECKED)
$Holeitem = TrayCreateItem("Ganzer Bildschirm")
;$Intervalitem = TrayCreateItem("Intervall-Shot")
TrayCreateItem("") ; Create a separator line.
$aboutitem = TrayCreateItem("Über")
$infoitem = TrayCreateItem("Info")
$Supportitem = TrayCreateItem("Support-Mail")
TrayCreateItem("") ; Create a separator line.
$Mailforwarditem = TrayCreateItem("weiterleiten per Mail (Newest)")
;TrayItemSetState($Mailforwarditem,$TRAY_CHECKED)
$autostartitem = TrayCreateItem("mit Windows starten")
;TrayItemSetState($autostartitem,$TRAY_UNCHECKED)
$exititem = TrayCreateItem("Exit")
;;;;;;;;;;;;;;;;
startcheck()
;;;;;;;;;;;;;;;;
TraySetState()
;MAIN LOOP---------------------------------------------------------------------------------------------------
While 1
Switch TrayGetMsg() ;switch seems nicer in this case
Case $exititem
Exit
Case $autostartitem
If BitAND(TrayItemGetState($autostartitem), $TRAY_CHECKED) Then
;If Not FileExists(@StartupDir & "\ACT.lnk") Then
FileCreateShortcut(@ScriptFullPath, @StartupDir & "\ACT.lnk", @ScriptDir, "", "AutoIT Script Description")
ConsoleWrite('Autostart-Item Checked' & @CR)
;MsgBox(1, '', _WinAPI_GetLastErrorMessage())
Else
;MsgBox(1, '', _WinAPI_GetLastErrorMessage())
ConsoleWrite('Autostart-Item Unchecked' & @CR)
FileDelete(@StartupDir & "\ACT.lnk")
EndIf
EndSwitch
WEnd
;-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Func startcheck()
TraySetState()
If FileExists(@StartupDir & "\ACT.lnk") Then
GUICtrlSetState($autostartitem, $GUI_CHECKED)
Else
MsgBox(0,"Info","Text",1)
GUICtrlSetState($autostartitem, $GUI_UNCHECKED)
EndIf
EndFunc
Alles anzeigen
Okidoki, jetzt hat es geklappt Oscar, recht herzlichen Dank. Dann lag es also anscheinend an der if not Bedingung,
While 1
Switch TrayGetMsg() ;switch seems nicer in this case
Case $exititem
Exit
Case $autostartitem
If BitAND(TrayItemGetState($autostartitem), $TRAY_CHECKED) Then
If Not FileExists(@StartupDir & "\ACT.lnk") Then
FileCreateShortcut(@ScriptFullPath, @StartupDir & "\ACT.lnk", @ScriptDir, "", "AutoIT Script Description")
ConsoleWrite('Autostart-Item Checked' & @CR)
Else
ConsoleWrite('Autostart-Item Unchecked' & @CR)
FileDelete(@StartupDir & "\ACT.lnk")
EndIf
endif
EndSwitch
WEnd
Alles anzeigen
ok die ist vielleicht zwar überfüssig, aber schon komisch
Das mit BN_Clicked hatte zumindest in Controlboxen funktioniert, das war ja auch meien Frtage, ob das hier anders heissen muss, ich probiere das mal aus und bedanke mich
lg
Chris
So also noch mal detailiert, ich habe es jetzt hinter jeder Zeile in dem IF Kondtukt gehabt, kam immer nur Erolgreichausgeführt, erst nach der letzten Zeile dsagt er das mit dem Token im Lösch zweig:
Case $autostartitem
If BitAND(GUICtrlRead($autostartitem), $BN_CLICKED) = $BN_CLICKED Then
;MsgBox(0,"Info","Text",1)
MsgBox(1, '', _WinAPI_GetLastErrorMessage())
If Not FileExists(@StartupDir & "\ACT.lnk") Then
FileCreateShortcut(@ScriptFullPath, @StartupDir & "\ACT.lnk", @ScriptDir, "", "AutoIT Script Description")
EndIf
;MsgBox(1, '', _WinAPI_GetLastErrorMessage())
Else
If FileExists(@StartupDir & "\ACT.lnk") Then
Endif
EndIf
MsgBox(1, '', _WinAPI_GetLastErrorMessage())
Alles anzeigen
Dann kommt auch das mit dem Token nicht gefunden.
Ohne BN_CLICKED schreibt er den Link nicht mal:(
Hallo Mombas,
danke für den Vorschlag, werde ich mal probieren
PS: stimmt hatte ich vorher, ich schreibs mal nach Z150
Danke
lg
Hallo allerseits,
also in einer GUI hatte ich das schon hinbekommen, aber in einem TrayTool scheint das so nicht zu funktionieren. Ich versuche einen Autostart einzubauen, den ich mit einem Hacken entsprechend an und abwählen kann. Eintragen geht gerade noch so , aber beim Abwählen löscht er den Link nicht, was mache ich bloss falsch? Hoffe ist nicht zu lang, poste das ma eben
#include <Constants.au3>
#include <ScreenCapture.au3>
#include <File.au3>
#include <GuiButton.au3>
FileInstall("C:\Users\Rickl\Music\kamera.mp3", "C:\Windows\Temp\kamera.mp3", 2)
Opt("TrayMenuMode",1) ; Hide default tray menu items
Opt("TrayAutoPause", 0); This will allow you to click on the TrayIcon without pause the script
TraySetIcon("Shell32.dll",-325)
TraySetClick(8) ;only show the menu when right clicking
#Tray Tip
TraySetToolTip ("Andis ClippingTool - Bitte klicken für Screenshot")
;HOTKEYS
HotKeySet("+{F2}", "Shot") ;Screenshot spezielle Anwendung
HotKeySet("+{F3}", "ActiveWindow") ;Screnshot aktives Fenster
;HotKeySet("{ESC}", "_Exit")
; Global $Terminate = False
; HotKeySet("{ESC}", "Terminate")
; HotKeySet("^s", Intervall()")
;Variablen--------------------------------------------------------------------------------------------------
$Folderitem = TrayCreateItem("Clip Ordner")
$delitem = TrayCreateItem("Clip Ordner leeren")
TrayCreateItem("") ; Create a separator line.
$Spezitem = TrayCreateItem("Mess Bildschirm")
TrayItemSetState($spezitem,$TRAY_UNCHECKED)
$Holeitem = TrayCreateItem("Ganzer Bildschirm")
;$Intervalitem = TrayCreateItem("Intervall-Shot")
TrayCreateItem("") ; Create a separator line.
$aboutitem = TrayCreateItem("Über")
$infoitem = TrayCreateItem("Info")
$Supportitem = TrayCreateItem("Support-Mail")
TrayCreateItem("") ; Create a separator line.
$Mailforwarditem = TrayCreateItem("weiterleiten per Mail (Newest)")
;TrayItemSetState($Mailforwarditem,$TRAY_CHECKED)
$autostartitem = TrayCreateItem("mit Windows starten")
;TrayItemSetState($autostartitem,$TRAY_CHECKED)
$exititem = TrayCreateItem("Exit")
$appPath = _PathFull("Microsoft\Windows\Start Menu\Programs\Startup\AndisClippingTool.exe", @AppDataDir)
;$clipPath = ("c:\clips")
$checkPath = ("c:\check.txt")
$checkPath = _PathFull("Microsoft\check.txt", @AppDataDir)
$targetdirPath = _PathFull("clips\", @MyDocumentsDir )
Global $BeepFile = 'C:\Windows\Temp\kamera.mp3'
Global $sTimestamp
Local $appPath
$CmdPid = Run("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe .\mailer.ps1 -noexit" & 'Get-ChildItem',@ScriptDir, @SW_HIDE); Starting PicMailer
;CHECKS------------------------------------------------------------------------------------------------------
;Mehrere Instanzen vermeiden---------------------------------------------------------------------------------
$g_szVersion = "My Somewhat Unique Window Title"
If WinExists($g_szVersion) Then
Exit
EndIf
AutoItWinSetTitle($g_szVersion)
;------------------------------------------------------------------------------------------------------------
;Clipverzeichnis anlegen-------------------------------------------------------------------------------------
If FileExists ($targetdirPath) = 1 Then
;MsgBox(0,"info", "File exists" , 10)
Else
;MsgBox(0,"info", "File does not exist" , 10)
DirCreate ( $targetdirPath )
DirCreate ( $targetdirPath & "app" )
EndIf
;------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------
;Prüfen ob Tool zum ersten mal gestartet mit check.txt
If FileExists ($checkPath) = 1 Then
;MsgBox(0,"info", "File exists" , 10)
Else
MakeShellmenu()
SplashTextOn("Achtung", "Andis Clipping Tool residiert ab jetz hier unten im Traymenu ⇲ !", 450, 60, 1400, 950, 1, "Verdana")
sleep(5000)
SplashOff()
_FileCreate($checkPath)
EndIf
;------------------------------------------------------------------------------------------------------------
Func MakeShellmenu()
RegWrite("HKEY_CLASSES_ROOT\Directory\Background\shell\WindowShot", "Icon", "REG_SZ", "Shell32.dll,325")
RegWrite("HKEY_CLASSES_ROOT\Directory\Background\shell\WindowShot\command", "", "REG_SZ", "" & @Scriptdir & "\HOTKEYMakeShotActiveWindow.exe %W")
EndFunc
;MAIN LOOP---------------------------------------------------------------------------------------------------
While 1
Switch TrayGetMsg() ;switch seems nicer in this case
Case 0
ContinueLoop
Case $TRAY_EVENT_PRIMARYDOWN ;reaction to left clicking
;Msgbox(64,"","left click!")
checkapp()
;WinSetState($hWnd, "", @SW_Restore)
Case $delitem
TrayItemSetState($delitem,$TRAY_UNCHECKED) ;stop the automated (un)checking when clicked
ProcessClose ($CmdPid)
FileDelete($targetdirPath & "\*.*")
FileDelete($targetdirPath & "\app\*.*")
$CmdPid
Case $spezitem
TrayItemSetState($spezitem,$TRAY_UNCHECKED) ;stop the automated (un)checking when clicked
CheckApp()
Case $holeitem
TrayItemSetState($holeitem,$TRAY_UNCHECKED) ;stop the automated (un)checking when clicked
SoundPlay($BeepFile)
HoleScreen()
; Case $Intervalitem
; TrayItemSetState($Intervalitem,$TRAY_UNCHECKED) ;stop the automated (un)checking when clicked
; Intervall()
Case $aboutitem
TrayItemSetState($aboutitem,$TRAY_UNCHECKED) ;stop the automated (un)checking when clicked
Msgbox(64, "Über", "Mit diesem Tool wird per Doppelklick ein Snapshot von der Anwendung ... erzeugt, diese wird anschliessend auf Rechner ..., in Verzeuichnis ... abgelegt.")
Case $Folderitem
TrayItemSetState($Folderitem,$TRAY_UNCHECKED) ;stop the automated (un)checking when clicked
Run("Explorer.exe " & $targetdirPath)
Case $supportitem
TrayItemSetState($supportitem,$TRAY_UNCHECKED) ;stop the automated (un)checking when clicked
ShellExecute("mailto:Rickl@landesarchiv.berlin.de")
Case $infoitem
TrayItemSetState($infoitem,$TRAY_UNCHECKED) ;stop the automated (un)checking when clicked
Msgbox(64, "About", "Bei Fragen und Anregungen, sowie Problemen kontaktieren Sie bitte mich!")
Case $autostartitem
If BitAND(GUICtrlRead($autostartitem), $BN_CLICKED) = $BN_CLICKED Then
;MsgBox(0,"Info","Text",1)
If Not FileExists(@StartupDir & "\ACT.lnk") Then
FileCreateShortcut(@ScriptFullPath, @StartupDir & "\ACT.lnk", @ScriptDir, "", "AutoIT Script Description")
EndIf
Else
If FileExists(@StartupDir & "\ACT.lnk") Then
FileDelete(@StartupDir & "\ACT.lnk")
EndIf
;Endif
EndIf
Case $Mailforwarditem
; if unchecked -> chekced else
TrayItemSetState($Mailforwarditem ,$TRAY_UNCHECKED)
TraySetState()
Case $exititem
ProcessClose ($CmdPid)
ExitLoop
EndSwitch
WEnd
Exit
;-----------------------------------------------------------------------------------------------------------
Func CheckApp()
If WinExists ( "Unbenannt - Editor" ) Then
SoundPlay($BeepFile)
shot()
Else
Msgbox(64, "About", "Applikation läuft nicht!")
EndIf
EndFunc
;------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------
Func Shot()
$sTimestamp = @YEAR & @MON & @MDAY & "-" & @HOUR & @MIN & @SEC ; ggf. noch & @MSEC
$sFileName= $targetdirPath & "app\" & "Notepad_" & $sTimestamp &".jpg"
$title = "Unbenannt - Editor" ;Beispiel mit Notepad
$list = WinList() ;liste alle Fenster
If $list[0][0] > 0 Then ;wenn Liste nicht leer, dann weiter
$i = 1
Do
If StringInStr($list[$i][0], $title) > 0 Then ;finde erstes Notepad Fenster
$hWnd = $list[$i][1] ;merke Handel vom Fenster
WinSetState($hWnd, "", @SW_RESTORE) ;stelle wieder das Notepad Fenster her, da minimiert der Screenshot sonst schwarz wäre
Sleep(250) ;warte auf das Notepad Fenster
_ScreenCapture_CaptureWnd($sFileName, $hWnd) ;mache ein Foto und speichere das Bild ab
WinSetState($hWnd, "", @SW_MINIMIZE) ;minimiere das Fenster wieder
ExitLoop ;verlasse Schleife
EndIf
$i += 1
Until $i >= $list[0][0] ;suche solange bis alle Fenster durchsucht sind!
EndIf
EndFunc
;------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------
Func HoleScreen()
$sTimestamp = @YEAR & @MON & @MDAY & "-" & @HOUR & @MIN & @SEC ; ggf. noch & @MSEC
$sFileName= $targetdirPath & "FullScreen_" & $sTimestamp & ".jpg"
_ScreenCapture_Capture($sFileName,0,0,@DesktopWidth,@DesktopHeight)
ShellExecute($sFileName)
EndFunc
;------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------
Func ActiveWindow()
$sTimestamp = @YEAR & @MON & @MDAY & "-" & @HOUR & @MIN & @SEC ; ggf. noch & @MSEC
$sFileName= $targetdirPath & "ActiveWindow_" & $sTimestamp &".jpg"
$ActiveWindow = WinGetHandle("[active]")
SoundPlay($BeepFile)
$Image = _ScreenCapture_CaptureWnd ( "", $ActiveWindow, 0, 0, -1, -1, True )
$fFreeBmp = True
_ScreenCapture_SaveImage ( $sFilename & "PictuRec.jpg", $Image, $fFreeBmp )
EndFunc
;------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------
Func Intervall()
While 1
Sleep(1000)
Send("+{F2}")
WEnd
EndFunc
;------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------
Func _Exit()
MsgBox("Title", "", "Script wurde abgebrochen.", 2)
Exit 0
EndFunc
;------------------------------------------------------------------------------------------------------------
Func Terminate()
$Terminate = True
EndFunc ;==>Terminate
Alles anzeigen
lg
Chris
Das hat funktioniert, recht herzlichen Dank, also schaut jetzt so aus:
Func ActiveWindow()
$sTimestamp = @YEAR & @MON & @MDAY & "-" & @HOUR & @MIN & @SEC ; ggf. noch & @MSEC
$sFileName= $targetdirPath & "ActiveWindow.jpg"
$ActiveWindow = WinGetHandle("[active]")
; If GUICtrlRead ( $Mouse ) = $GUI_CHECKED Then
; $CaptureMouse = True
; Else
; $CaptureMouse = False
; EndIf
$Image = _ScreenCapture_CaptureWnd ( "", $ActiveWindow, 0, 0, -1, -1, True )
$fFreeBmp = True
_ScreenCapture_SaveImage ( $sFilename & "PictuRec.jpg", $Image, $fFreeBmp )
EndFunc
Alles anzeigen
schöne Woche noch
lg
Das wäre eine Idee ja, probiere ich mal aus, vielen Dank
eine schöne Woche
hallo und danke für die Hinweise ,
ja die Funjtion Ganzer Screen geht auch wenn das Spezielle Fenster sichtbar ist. Ich schau mit mal das Script von Mobas an. Um es noch mal zu sagebn, ich möchte dass er mir den vorherigen Snapshot erhält und nicht überschreibt, so dass ich quasi eine Art History erhalte, als Bild.jpg, Bild01.jpg etc. Das mit den ggf überlagernden Fenstern kann ich ja so verhindern, indem ich das spezielle Programm automatisch minimieren lasse, dass geht ja mit autoit.
Übrigens das zweite Scrupt von Mombbaas hatte ich auch probiert, ich erhalte dort auch nur einen kleinen Auschnitt ohne Inhalt:(
lg und schönen SonntaG NOCH
jop hallo und recht herzlichen Dank erst mal Moombas. Also bezüglich der Frage mit den überlagerten Fenstern wäre es mir unverständlich warum es nicht gehen sollte, sofern dass gesnapschotete Fensster im Hintergrund ist geht es ja auch, obwohl nicht sichtbar.
Das erste Script von Dir habe ich mir mal angesehen, er macht zwar eine Reihe von Snapshots, aber jweils alles nur weisse quadartische Flächen. Also um es mal genauer zu beschreiben, es soll von einem bestimmten Programm Fenster, in dem bestimmte Gebäudeinformationen dargestellt sind, auf Klick ein Snapshot angefrtig werden, und auf einem anderen Server abgelegt werden (in meinem Miniscript noch testweise lokal. Ich hoffe es ist nicht ganz zu unübersichtlich.
#include <Constants.au3>
#include <ScreenCapture.au3>
#include <File.au3>
Opt("TrayMenuMode",1) ; Hide default tray menu items
Opt("TrayAutoPause", 0); This will allow you to click on the TrayIcon without pause the script
TraySetIcon("Shell32.dll",-325)
TraySetClick(8) ;only show the menu when right clicking
#Tray Tip
TraySetToolTip ("ClippingTool - Bitte klicken für Screenshot")
;Variablen--------------------------------------------------------------------------------------------------
$Folderitem = TrayCreateItem("Clip Ordner")
$Holeitem = TrayCreateItem("Ganzer Bildschirm")
TrayCreateItem("") ; Create a separator line.
$aboutitem = TrayCreateItem("Über")
$infoitem = TrayCreateItem("Info")
$Supportitem = TrayCreateItem("Support-Mail")
TrayCreateItem("") ; Create a separator line.
$autostartitem = TrayCreateItem("mit Windows starten")
TrayItemSetState($autostartitem,$TRAY_CHECKED)
$exititem = TrayCreateItem("Exit")
$appPath = _PathFull("Microsoft\Windows\Start Menu\Programs\Startup\ClippingTool.exe", @AppDataDir)
$clipPath = ("c:\clips")
$checkPath = ("c:\check.txt")
$checkPath = _PathFull("Microsoft\check.txt", @AppDataDir)
;Mehrere Instanzen vermeiden---------------------------------------------------------------------------------
$g_szVersion = "My Somewhat Unique Window Title"
If WinExists($g_szVersion) Then
Exit
EndIf
AutoItWinSetTitle($g_szVersion)
;------------------------------------------------------------------------------------------------------------
;Clipverzeichnis anlegen-------------------------------------------------------------------------------------
If FileExists ($clipPath) = 1 Then
;MsgBox(0,"info", "File exists" , 10)
Else
;MsgBox(0,"info", "File does not exist" , 10)
DirCreate ( "c:\clips" )
EndIf
;------------------------------------------------------------------------------------------------------------
;Prüfen ob Tool zum ersten mal gestartet mit check.txt
If FileExists ($checkPath) = 1 Then
;MsgBox(0,"info", "File exists" , 10)
Else
;MsgBox(0,"info", "check does not exist" , 10)
SplashTextOn("Achtung", "Clipping Tool residiert ab jetz hier unten im Traymenu ⇲ !", 450, 60, 1400, 950, 1, "Verdana")
sleep(5000)
SplashOff()
_FileCreate($checkPath)
;erster Splash once
EndIf
;AutostartLink erzeugen--------------------------------------------------------------------------------------
If FileExists ($AppPath) = 1 Then
Else
FileCreateShortcut(@ScriptFullPath, @StartupDir &"\ClipingTool.lnk")
EndIf
;MAIN LOOP---------------------------------------------------------------------------------------------------
While 1
Switch TrayGetMsg()
Case 0
ContinueLoop
Case $TRAY_EVENT_PRIMARYDOWN ;LinksClick
;Msgbox(64,"","left click!")
SHOT()
;WinSetState($hWnd, "", @SW_Restore)
Case $holeitem
TrayItemSetState($holeitem,$TRAY_UNCHECKED) ;stop the automated (un)checking when clicked
HoleScreen()
Case $aboutitem
TrayItemSetState($aboutitem,$TRAY_UNCHECKED)
Msgbox(64, "Über", "Mit diesem Tool wird per Doppelklick ein Snapshot von der Anwendung ... erzeugt, diese wird anschliessend auf Rechner ..., in Verzeuichnis ... abgelegt.")
Case $Folderitem
TrayItemSetState($Folderitem,$TRAY_UNCHECKED)
Run("Explorer.exe " & "C:\clips")
Case $supportitem
;TrayItemSetState($supportitem,$TRAY_UNCHECKED)
ShellExecute("mailto:xyz@xyz.de")
Case $infoitem
TrayItemSetState($infoitem,$TRAY_UNCHECKED)
Msgbox(64, "About", "Bei Fragen und Anregungen, sowie Problemen kontaktieren Sie bitte mich!")
Case $autostartitem
; if unchecked -> chekced else
TrayItemSetState($autostartitem,$TRAY_UNCHECKED)
TraySetState()
Case $exititem
ExitLoop
EndSwitch
WEnd
Exit
;------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------
Func Shot()
$title = "Unbenannt - Editor" ;Beispiel mit Notepad
$list = WinList() ;liste alle Fenster
If $list[0][0] > 0 Then ;wenn Liste nicht leer, dann weiter
$i = 1
Do
If StringInStr($list[$i][0], $title) > 0 Then ;finde erstes Notepad Fenster
$hWnd = $list[$i][1] ;merke Handel vom Fenster
WinSetState($hWnd, "", @SW_RESTORE) ;stelle wieder das Notepad Fenster her, da minimiert der Screenshot sonst schwarz wäre
Sleep(250) ;warte auf das Notepad Fenster
_ScreenCapture_CaptureWnd("c:\clips\notepad.jpg", $hWnd) ;mache ein Foto und speichere das Bild ab
WinSetState($hWnd, "", @SW_MINIMIZE) ;minimiere das Fenster wieder
ExitLoop ;verlasse Schleife
EndIf
$i += 1
Until $i >= $list[0][0] ;suche solange bis alle Fenster durchsucht sind!
EndIf
EndFunc
;------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------
Func HoleScreen()
_ScreenCapture_Capture(@TempDir & "\1.jpg")
Run(@TempDir)
EndFunc
;------------------------------------------------------------------------------------------------------------
Alles anzeigen
lg und schönes Wocheende noch
Hallo Leudde,
mal eine Frage zur Screenshotfunktion von Autoit, bzw 2. Ist es möglich dass bei offenen Fenstern, von denen ein Screenshot gemacht werden soll, evtl. überlagerte Requester und Fenster weggefiltert werden?
zweite Frage: Ist es ggf möglich dass Overwrite abzustellen, dass beim erneuten Screenshot ein neues mit ggf. '1 ...2... usw. erstellt wird?
Ein schönes Wochenende
lg
Chris
sehr schön, funktioniert
danke noch mal an alle
lg
Chris
Ich habe jetzt keine weiteren Fragen gesehen, sonst hätte ich schon geantwortet, so lang sind die Pfade bei mir nicht, das ist schon in Ordnung jetzt so, und mit dem Trial and error hatte ich schon versucht, dass schluckt er so leider nicht
SplashTextOn('', $sText, Ceiling($tRect.Width), Ceiling($tRect.Height) + 24, -1, -1, 20, $sFontname, $sFontSize, $DLG_NOTITLE)
Mache ich eigentlich immer, bevor ich eine Frage stelle.
lg
Chris
ok na so lange Pfade werd ich nicht brauchen, aber es wäre klasse wenn man nun auch noch die den Parameter $DLG_NOTITLE für titelloses Fenster nutzen könnte. Das geht aber nicht oder?
lg und schönen Morgen
Chris
Oscar , sehr cool, jetz ist es egal wie lang der Pfad ist, und er passt Text und Fenster an.
Vielen Dank noch mal