Hallo
lies dir einmal die Hilfe zuPixelChecksum durch, das sollte dir helfen ![]()
mfg (Auto)Bert
moritz1243 pixelgetcolor gibt nur die Farbe eines Pixels zurück
Hallo
lies dir einmal die Hilfe zuPixelChecksum durch, das sollte dir helfen ![]()
mfg (Auto)Bert
moritz1243 pixelgetcolor gibt nur die Farbe eines Pixels zurück
HeyHo Nischlas,
ich habe das Skript noch einmal überarbeitet:
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.0.0
Authors: AutoBert => MainWindow with personalized Icons
funkey => Menu-everywhere
Script Function: Template for Background-Image (JPG)
#ce ----------------------------------------------------------------------------
Opt("GUIOnEventMode", 1) ;ONEvent Mode.
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Global $iWidht = 1024, $iHeight = 550
[/autoit] [autoit][/autoit] [autoit]HotKeySet("{F6}", "_hide")
$hfrmMain = GUICreate("", $iWidht, $iHeight, 0, 0, BitOR($WS_POPUPWINDOW, $WS_THICKFRAME)) ;$WS_POPUPWINDOW oder $WS_POPUP ist unbedingt erforderlich
GUISetOnEvent($GUI_EVENT_CLOSE, "_exitMain") ;damit GUI auch mit F4 h´geschlossen werden kann
;$hjpgBckgrnd = GUICtrlCreatePic(@ScriptDir & "\bin\beetle.JPG", 0, 0, $iWidht, $iHeight)
GUISetIcon(@ScriptDir & "\bin\app.ico") ;Setzt ein Icon für das Programm, bei diesem Stil nur in der Taskleiste bemerkbar
$hjpgBckgrnd = GUICtrlCreatePic(@ScriptDir & "\bin\beetle.JPG", 0, -40, $iWidht, $iHeight) ;Ersatz für Programmicon, da bei diesem Stil nicht anders möglich
GUICtrlSetState(-1, $GUI_DISABLE)
$hlblMyTitle = GUICtrlCreateLabel("Meine personalisierte GUI", 200, 2, 500, 22, -1, BitOR($GUI_WS_EX_PARENTDRAG,$WS_EX_TRANSPARENT))
;um das Verschieben zu rmöglichen ist der erweiterte Stil $GUI_WS_EX_PARENTDRAG notwendig
GUICtrlSetTip(-1, "hier kann das Fenster mit der Maus verschoben werden", "Personalized Gui", 1,1)
GUICtrlSetBkColor(-1, 0xffffff) ; alles was die Farbe weiß hat, erscheint transparent
GUICtrlSetFont(-1, 16)
GUICtrlSetResizing(-1, $GUI_DOCKAll)
GUISwitch($hfrmMain)
$hicoApp = GUICtrlCreateIcon(@ScriptDir & "\bin\App.ico", -1, 0, -4, 58, 30)
GUICtrlSetOnEvent($hicoApp, "_about")
GUICtrlSetTip(-1, "Zeigt Infos zu dem Programm", "Personalized Gui", 1,1)
$hicoClose = GUICtrlCreateIcon(@ScriptDir & "\bin\close.ico", -1, 900, 5, 16, 16)
GUICtrlSetOnEvent($hicoClose, "_exitMain")
GUICtrlSetTip(-1, "Programm schliessen", "Personalized Gui", 1, 1)
$hicoMini = GUICtrlCreateIcon(@ScriptDir & "\bin\mini.ico", -1, 820, 5, 16, 16)
GUICtrlSetOnEvent($hicoMini, "_Minimize")
GUICtrlSetTip(-1, "minimieren", "Personalized Gui", 1,1)
$hicoMaxi = GUICtrlCreateIcon(@ScriptDir & "\bin\maxi.ico", -1, 860, 5, 16, 16)
GUICtrlSetOnEvent($hicoMaxi, "_Maximize")
GUICtrlSetTip(-1, "maximieren", "Personalized Gui", 1,1)
$hicoNorm = GUICtrlCreateIcon(@ScriptDir & "\bin\normalize.ico", -1, 860, 5, 16, 16)
GUICtrlSetOnEvent($hicoNorm, "_Normalize")
GUICtrlSetTip(-1, "wiederherstellen", "Personalized Gui", 1,1)
GUICtrlSetState($hicoNorm, $GUI_HIDE)
$hbtnExit = GUICtrlCreateButton("Be&enden", $iWidht - 100, $iHeight - 70, 80, 20, -1, $WS_EX_TRANSPARENT)
GUICtrlSetTip(-1, "Programm beenden", "Personalized Gui", 1,1)
GUICtrlSetOnEvent(-1, "_exitMain")
;-------------------LINE
$line = GUICtrlCreateGraphic(0, 24, $iWidht, 2)
GUICtrlSetGraphic($line, $GUI_GR_LINE, 0, 0)
GUICtrlSetBkColor(-1, 0xffffff)
GUICtrlSetColor(-1, 0)
#Region ;ab hier Menü überall plazieren siehe http://www.autoit.de/index.php?page…0614#post110614 von funkey
GUICtrlCreateLabel('', 0, 25, $iWidht, 2, $SS_SUNKEN )
GUICtrlSetResizing(-1, $GUI_DOCKTOP)
$MenueDatei = GUICtrlCreateLabel('&Datei', 60, 5, 40, 19, BitOR($SS_CENTERIMAGE,$SS_CENTER))
GUICtrlSetResizing(-1, $GUI_DOCKAll)
GUICtrlSetBkColor(-1, 0xffffff) ; alles was die Farbe weiß hat, ist transparent
GUICtrlSetOnEvent(-1, '_MenuPressed')
$DateiContext = GUICtrlCreateContextMenu(GUICtrlCreateDummy())
$OptionsOpen = GUICtrlCreateMenuItem("Ö&ffnen", $DateiContext)
GUICtrlSetOnEvent(-1, "_openJPG")
$OptionsClose = GUICtrlCreateMenuItem("S&chließen", $DateiContext)
GUICtrlCreateMenuItem("", $DateiContext)
GUICtrlSetOnEvent(-1, "_Close")
$OptionsExit = GUICtrlCreateMenuItem("B&eenden", $DateiContext)
GUICtrlSetOnEvent(-1, '_ExitMain')
$MenueHelp = GUICtrlCreateLabel("&Hilfe", 135, 5, 30, 19, BitOR($SS_CENTERIMAGE,$SS_CENTER))
GUICtrlSetResizing(-1, $GUI_DOCKAll)
GUICtrlSetBkColor(-1, 0xffffff) ; alles was die Farbe weiß hat, ist transparent
GUICtrlSetOnEvent(-1, '_MenuPressed')
$HelpContext = GUICtrlCreateContextMenu(GUICtrlCreateDummy())
$HelpWWW = GUICtrlCreateMenuItem("&Website", $HelpContext)
GUICtrlSetOnEvent(-1, '_Website')
GUICtrlCreateMenuItem("", $HelpContext)
$HelpAbout = GUICtrlCreateMenuItem("Ü&ber...", $HelpContext)
GUICtrlSetTip(-1, "Zeigt Infos zu dem Programm", "Personalized Gui", 1)
GUICtrlSetOnEvent(-1, '_About')
GUICtrlCreateLabel('', 0, $iHeight - 25, $iWidht, 2, 0x1000)
GUICtrlSetResizing(-1, $GUI_DOCKBOTTOM)
$hlblStatus = GUICtrlCreateLabel('', 0, $iHeight - 21, $iWidht - 2, 18, $SS_SUNKEN)
GUICtrlSetResizing(-1, $GUI_DOCKBOTTOM)
;Global $AccelKeys[3][2] = [["!d", $MenueDatei],["!h", $MenueHelp],["!e", $hbtnExit]]
Global $AccelKeys[2][2] = [["!d", $MenueDatei],["!h", $MenueHelp]] ;,["!e", $hbtnExit]]
;Zugriffstasten für GUI setzen ($hbtnExit ist nicht unbedingt notwendig, da bereits auf dem Button
GUISetAccelerators($AccelKeys) ;zuweisen der Taten
;ende Menü überall
#EndRegion
GUISetState(@SW_SHOW, $hfrmMain)
While True
Sleep(1000)
WEnd
Func _exitMain()
Exit
EndFunc ;==>_exitMain
Func _Minimize()
GUISetState(@SW_MINIMIZE, $hfrmMain)
EndFunc ;==>_Minimize
Func _Maximize()
GUISetState(@SW_MAXIMIZE, $hfrmMain)
GUICtrlSetState($hicoMaxi, $GUI_HIDE)
GUICtrlSetState($hicoNorm, $GUI_SHOW)
EndFunc ;==>_Maximize
Func _Normalize()
GUISetState(@SW_RESTORE, $hfrmMain)
GUICtrlSetState($hicoNorm, $GUI_HIDE)
GUICtrlSetState($hicoMaxi, $GUI_SHOW)
EndFunc ;==>_Normalize
; -------------- func
Func _hide()
GUISetState(@SW_HIDE, $hfrmMain)
HotKeySet("{F6}", "_show")
EndFunc ;==>_hide
Func _show()
GUISetState(@SW_SHOW, $hfrmMain)
HotKeySet("{F6}", "_hide")
EndFunc ;==>_show
Func _OpenJPG()
$sjpgBckgrnd = FileOpenDialog("Hintergrundbild auswählen", @ScriptDir & "\bin", "Images (*.jpg)", 1, "", $hfrmMain)
GUICtrlSetImage($hjpgBckgrnd, $sjpgBckgrnd)
EndFunc ;==>_OpenJPG
Func _Close()
MsgBox(0, "Button", "Schliessen wurde geklickt!",0,$hfrmMain)
EndFunc ;==>_Close
#cs
[/autoit] [autoit][/autoit] [autoit]Switch $CtrlID
Case $OptionsExit
GUICtrlSetData($hlblStatus, "Programm beenden")
Case $OptionsOpen
GUICtrlSetData($hlblStatus, "Hintergrundbild auswählen")
Case Else
GUICtrlSetData($hlblStatus, "")
EndSwitch
#ce
;ab hier Funktionen von Menü überall plazieren siehe http://www.autoit.de/index.php?page…0614#post110614 von funkey
Func _MenuPressed()
Switch @GUI_CtrlId
Case $MenueDatei
ShowMenu($hfrmMain, $MenueDatei, $DateiContext)
Case $MenueHelp
ShowMenu($hfrmMain, $MenueHelp, $HelpContext)
EndSwitch
EndFunc ;==>_MenuPressed
Func _About()
MsgBox(64, "About...", "Beispiel für personalisierte GUI von (Auto)Bert" & @CRLF & "mit Beispiel für ein eigenes Menü von funkey" & @CRLF & "www.autoit.de/index.php?page=Thread&postID=110614#post110614,0,$hfrmMain")
EndFunc ;==>_About
Func _Website()
MsgBox(64, "Website...", "http://www.autoit.de/index.php?page=Thread&postID=116673#post116673",0,$hfrmMain)
EndFunc ;==>_Website
; Show a menu in a given GUI window which belongs to a given GUI ctrl
Func ShowMenu($hWnd, $CtrlID, $nContextID)
Local $arPos, $x, $y
Local $hMenu = GUICtrlGetHandle($nContextID)
$arPos = ControlGetPos($hWnd, "", $CtrlID)
[/autoit] [autoit][/autoit] [autoit]$x = $arPos[0]
$y = $arPos[1] + $arPos[3]
ClientToScreen($hWnd, $x, $y)
TrackPopupMenu($hWnd, $hMenu, $x, $y)
EndFunc ;==>ShowMenu
; Convert the client (GUI) coordinates to screen (desktop) coordinates
Func ClientToScreen($hWnd, ByRef $x, ByRef $y)
Local $stPoint = DllStructCreate("int;int")
DllStructSetData($stPoint, 1, $x)
DllStructSetData($stPoint, 2, $y)
DllCall("user32.dll", "int", "ClientToScreen", "hwnd", $hWnd, "ptr", DllStructGetPtr($stPoint))
[/autoit] [autoit][/autoit] [autoit]$x = DllStructGetData($stPoint, 1)
$y = DllStructGetData($stPoint, 2)
; release Struct not really needed as it is a local
$stPoint = 0
EndFunc ;==>ClientToScreen
; Show at the given coordinates (x, y) the popup menu (hMenu) which belongs to a given GUI window (hWnd)
Func TrackPopupMenu($hWnd, $hMenu, $x, $y)
DllCall("user32.dll", "int", "TrackPopupMenuEx", "hwnd", $hMenu, "int", 0, "int", $x, "int", $y, "hwnd", $hWnd, "ptr", 0)
EndFunc ;==>TrackPopupMenu
zusätzlich habe ich noch Menü überall platzieren von funkey eingebaut.
Edit: GuiCtrlTip eingebaut und Kommentare eingefügt
mfg (Auto)Bert
moritz1243 wenn du ohne den Stil $WS_POPUPWINDOW bzw. $WS_POPUP eine GUI erzeugst bekommst du spätestens dann Probleme wenn du auf dieser GUI auch noch ein Menü plazieren möchtest,
HeyHo Nischlas,
erstelle eine Gui mit dem Stil $WS_POPUP, darauf kannst du dann eigene Icons im Bereich der normalen Titelleiste erzeugen z.B:
[autoit]#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#cs ----------------------------------------------------------------------------
[/autoit][autoit][/autoit][autoit]AutoIt Version: 3.3.0.0
Author: AutoBert
Script Function: Template for Background-Image (JPG)
#ce ----------------------------------------------------------------------------
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Opt("GUIOnEventMode", 1) ;ONEvent Mode.
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Global $iWidht = 1024, $iHeight = 550
[/autoit][autoit][/autoit][autoit]HotKeySet("{F6}", "_hide")
$hfrmMain = GUICreate("HintergrundBild", $iWidht, $iHeight,0,0,$WS_POPUP, $WS_EX_CLIENTEDGE)
$hjpgBckgrnd = GUICtrlCreatePic("bin\bg" & Random(1, 8, 1) & ".jpg", 0, 0, $iWidht, $iHeight) ;change bgX.jpg with your jpeg
GUICtrlSetState(-1, $GUI_DISABLE)
$hclose = GUICtrlCreateIcon("close.ico", -1,900, 0, 16, 16)
GUICtrlSetOnEvent($hclose, "_exitMain")
$hbtnMini = GUICtrlCreateIcon("mini.ico", -1,820,0, 16, 16)
GUICtrlSetOnEvent($hbtnmini, "_Minimize")
$hbtnMaxi = GUICtrlCreateIcon("maxi.ico", -1,860,0, 16, 16)
GUICtrlSetOnEvent($hbtnmaxi, "_Maximize")
$hbtnExit = GUICtrlCreateButton("Be&enden", $iWidht - 100, $iHeight - 50, 80)
GUICtrlSetOnEvent(-1, "_exitMain")
GUISetState()
While True
Sleep(1000)
WEnd
Func _exitMain()
Exit
EndFunc ;==>_exitMain
Func _Minimize()
GUISetState(@SW_MINIMIZE,$hfrmMain)
EndFunc ;==>_exitMain
Func _Maximize()
GUISetState(@SW_MAXIMIZE,$hfrmMain)
EndFunc ;==>_exitMain
; -------------- func
Func _hide()
GUISetState(@SW_HIDE, $hfrmMain)
HotKeySet("{F6}", "_show")
EndFunc ;==>_hide
Func _show()
GUISetState(@SW_SHOW, $hfrmMain)
HotKeySet("{F6}", "_hide")
EndFunc ;==>_show
Func _OpenJPG()
$sjpgBckgrnd = FileOpenDialog("Hintergrundbild auswählen", @ScriptDir & "\bin", "Images (*.jpg)", 1, "", $hfrmMain)
GUICtrlSetImage($hjpgBckgrnd, $sjpgBckgrnd)
EndFunc ;==>_OpenJPG
mfg (Auto)Bert
Hallo
Nun hab ich allerdings das Problem, dass ich bei bestimmten Buttons gerne das Icon HINTER und nicht VOR dem Text stehen sollen.
Zitat
Du könntest für jeden einzelnen Button mit GuiCtrlCreateIcon ein Icon erstellen.
[autoit]#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
Opt("GUIOnEventMode", 1)
;--
GUICreate("Demo Icon und Buttons", 800, 540, -1, -1, $WS_SIZEBOX + $WS_SYSMENU +$WS_MAXIMIZEBOX +$WS_MINIMIZEBOX)
GUISetOnEvent($GUI_EVENT_CLOSE, "Kill")
Local $iLeft = 20
Local $iWith = 80
GUICtrlCreateIcon(@ScriptDir & '\Icon0002.ico', 0, $iLeft+4, 6, 48, 48)
GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUICtrlCreateButton('unten', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM))
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$iLeft = $iLeft + $iWith
GUICtrlCreateIcon(@ScriptDir & '\Icon0002.ico', 0, $iLeft+4, 16, 48, 48)
GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUICtrlCreateButton('oben', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_TOP))
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
$iLeft = $iLeft + $iWith
$iWith = 110
GUICtrlCreateIcon(@ScriptDir & '\Icon0002.ico', 0, $iLeft+4, 6, 48, 48)
GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUICtrlCreateButton('Be&enden', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_right))
GUICtrlSetOnEvent(-1, 'KILL')
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUISetState()
[/autoit][autoit][/autoit][autoit]While 1
sleep(1000)
WEnd
;--
Func Kill()
Exit
EndFunc
;--
mfg (Auto)Bert
Hallo killz,
du hast im Forum Skripte gepostet jedoch das Skript vergessen,
mfg (Auto)Bert
Hallo Bauer,
ZitatBemerkungen (aus Hilfe-Datei)
Es ist wichtig, ein Arbeitsverzeichnis anzugeben, für den der Benutzer Zugriffsrechte hat, in dessen Kontext der Prozess ausgeführt wird, anderenfalls schlägt der Aufruf der Funktion RunAs() fehl.
Es ist empfehlenswert, nur dann das "fremde" Benutzerprofil zu verwenden, wenn es auch wirklich benötigt wird. Es besteht eine geringe Wahrscheinlichkeit, dass das Profil unter bestimmten Bedingungen im Speicher hängen bleibt. Wenn ein Skript RunAs() benutzt, um einen Prozess unter dem SYSTEM-Account zu starten (z.B. um als Dienst zu fungieren), und ein Benutzerprofil ist aktiv, muss dafür gesorgt werden, dass das Skript nicht beendet wird, bevor der Child-Prozess geschlossen wurde.
Benutze doch einfach RunAsWait anstelle von RunAs,
mfg (Auto)Bert
Hallo Rubberducky
ZitatIn die Hilfe hab ich geschaut, aber leider nichts gefunden.
Aber danke für die Bemühung
Hier das Beispiel zu _soundopen aus der Hilfe:
[autoit]#include <Sound.au3>
;open sound file
$sound = _SoundOpen(@WindowsDir & "\media\Windows XP-Anmeldesound.wav", "Startup")
If @error = 2 Then
MsgBox(0, "Error", "The file does not exist")
Exit
ElseIf @error = 3 Then
MsgBox(0, "Error", "The alias was invalid")
Exit
ElseIf @extended <> 0 Then
$extended = @extended ;assign because @extended will be set after DllCall
$stText = DllStructCreate("char[128]")
$errorstring = DllCall("winmm.dll", "short", "mciGetErrorStringA", "str", $extended, "ptr", DllStructGetPtr($stText), "int", 128)
MsgBox(0, "Error", "The open failed." & @CRLF & "Error Number: " & $extended & @CRLF & "Error Description: " & DllStructGetData($stText, 1) & @CRLF & "Please Note: The sound may still play correctly.")
Else
MsgBox(0, "Success", "The file opened successfully")
EndIf
_SoundPlay($sound, 1)
_SoundClose($sound)
[/autoit]mfg (Auto)Bert
Hallo slin,
ZitatCode gesucht! (Für könner kein Problem!)
Hallo, wie heißt nochmal der Code wenn man ein Button drückt das dann die MsgBox kommt?ich weiss dumme Frage! Aber ich habe es vergessen
mit MsgBox kannst du eine MessageBox erzeugen. Einsatz in einem Programm z.B. so:
[autoit]#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Test-Programm", 200, 200, 10, 10)
$Button1 = GUICtrlCreateButton("MsgBox ", 80, 80, 100, 20)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $Button1
MsgBox(64,"Nachricht: " , "Button1 wurde geklickt!",20)
EndSwitch
WEnd
Hallo Rubberducky,
wenn du einen Sound abspielen willst solltest du anstelle von send die func soundplay einsetzen, schau dir doch hierzu die Hilfe an,
mfg (Auto)Bert
Hallo tillmann221
Zitatuhh
hab das in hilfe eingegeben
und versteh nur bahnhof
kann kein englisch
bin noch noob
dann lade dir doch die Hilfe-Dateien in Deuetsch herunter.
mfg (Auto)Bert
Hallo DeepRed92,
ich kann deinen Fehler (falsche Größenberechnung) nicht nachvollziehen, habe dafür BugFix's Skript dahingehend abgeändert, dass der Text in einem Label zum Testen ausgegeben wird. Die Masse passen immer,
mfg (Auto)Bert
Hallo emtec22,
du musst erst den Inhalt des Edit-Feldes auslesen und die neuen Daten anhängen, danach schreibst du alles zurück:
[autoit]HotKeySet("{F10}","Edit")
[/autoit][autoit][/autoit][autoit]Global $counter=1
Global $wert=100
$Edit1=0
[/autoit][autoit][/autoit][autoit]Func Edit()
GUICtrlSetData ($Edit1,GuiCtrlRead(Edit1) & @crlf & $counter &"=" & " " & $wert)
$counter=$counter+1
EndFunc
mfg (Auto)Bert
Hallo Alex2801,
du musst die Funktion mit Parametern aufrufen (so wie es dir Der_Doc bereits gepostet hat) z.B:
CopyWithProgress("C:\Programme\AutoIt3","c:\test") ;kopiert den kompletten AutoIt-Ordner nach c:\test
[/autoit] [autoit][/autoit] [autoit]#Include <Date.au3>
Func CopyWithProgress($srcDir, $destDir) ;Original gigx siehe https://autoit.de/index.php?page…25989#post25989
Local $tsBeginn = _NowCalc(), $tsDiff =-1, $tsRest ;eingefügt für Restdauer
If StringRight($srcDir, 1) = "\" Then $srcDir = StringLeft($srcDir, StringLen($srcDir) - 1)
If StringRight($destDir, 1) <> "\" Then $destDir = $destDir & "\"
If Not FileExists($destDir) Then DirCreate($destDir)
$srcSize = DirGetSize($srcDir, 1)
$1_percent = $srcSize[0] / 100
Run('XCOPY "'& $srcDir & '" "' & $destDir & '" /D /S /E /V /C /H /R /O /Y /F /G')
ProgressOn("Advanced status of file copying", "", "",10,10)
Do
if $tsDiff < 0 Then Sleep(5000)
$destSize = DirGetSize($destDir, 1)
$tsDiff = _DateDiff("s",$tsBeginn,_NowCalc())
$tsRest = round($tsDiff / ($destSize[0] / $1_percent) * 100,0) - $tsDiff
ConsoleWrite($tsDiff & " " & $1_percent & " " & $tsRest &@CRLF)
ProgressSet(Round($destSize[0] / $1_percent, 2), Round($destSize[0] / (1024 * 1024), 2) & " MB of " & Round($srcSize[0] / (1024 * 1024), 2)& " MB copied" & @CRLF _
& $destSize[1] & " of " & $srcSize[1] & " Files copied." & @CRLF _
& $destSize[2] & " of " & $srcSize[2] & " Folders copied.", Round($destSize[0] / $1_percent, 2) & "% - Done! " & $tsRest & " sec. Rest")
Sleep($tsDiff)
Until $destSize[0] >= $srcSize[0]
MsgBox(0,"Fertig in " & $tsDiff & " sec.",Round($destSize[0] / (1024 * 1024), 2) & " MB of " & Round($srcSize[0] / (1024 * 1024), 2)& " MB copied" & @CRLF _
& $destSize[1] & " of " & $srcSize[1] & " Files copied." & @CRLF _
& $destSize[2] & " of " & $srcSize[2] & " Folders copied." & @CRLF & Round($destSize[0] / $1_percent, 2) & "% - Done! ")
ProgressOff()
EndFunc
zusätzlich habe ich in die Original-Func noch eine Voraussage der vermutlichen Restdauer eingebaut,
mfg (Auto)Bert
Hallo Jonathan,
die TimeOutzeit für die 20 Pings ergeben zwar zusammen maximal 1 Sekunde, aber die anderen Funktionen benötigen doch auch Prozessor-Zeit,
mfg (Auto)Bert
Hallo Matthias_199,
du kannst doch einfach eine längere Zeitdauer für den einzelnen Ton angeben z.B.:
[autoit]
Beep(2200,5000) ;5 Sekunden
Beep(2300,5000) ;5 Sekunden
Beep(3000,2500) ;2,5 Sekunden
Zitat>>Zitat aus Hilfe<< Spielt einen Beep-Ton über den Systemlautsprecher ab.
Beep ( [ Frequency [, Duration ]] )
Parameter
Frequency [optional] Die Frequenz des Beep-Tons. Sie kann zwischen 37 Hz und 32.767 Hz(0x25 bis 0x7FFF)liegen. Standard sind 500 Hz.
Duration [optional] Die Länge des Beep-Tons in Millisekunden. Standard = 1000 ms.
mfg (Auto)Bert
Hallo RayRayatTorrex,
so klappt es:
[autoit]if not FileExists(@ProgramFilesDir & "\lol") then DirCreate(@ProgramFilesDir & "\lol") ;der Zielordner muss exisitieren
FileInstall("image.jpeg", @ProgramFilesDir & "\lol") ;sonst wird das File mit dem Namen lol erzeugt
$Pic1 = GUICtrlCreatePic(@ProgramFilesDir & "\lol\image.jpeg", 0, 0, 241, 137, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
mfg (Auto)Bert