Hallo Autoitprofis,
gibt es die Möglichkeit den OK-Button auf einer GUI nach einer bestimmten Wartezeit quasi automatisch auslösen zu lassen?
In meinem Autostart-Programm wird ermittelt ob es Freitag ist oder nicht. Wenn ja wird eine Datensicherung erstellt.
Wenn nein wird ein von mir erstelltes Hinweisfenster eingeblendet. Dieses enthält 2 Buttons. Der erste Button soll die Datensicherung(bei klick) dennoch starten. Der zweite(OK-Button) soll
nur das Hinweisfenster schließen, damit das Programm weiter macht mit dem Autostart. Ich hätte es gerne so, das das Hinweisfenster nach ein paar Sekunden sich selber schliesst wenn nichts gedrückt wird,
damit das Programm weiter laufen kann.
C
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile_x64=Autostart_2.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Comment=Autostart with Backup-Function
#AutoIt3Wrapper_Res_Description=Autostart with Backup
#AutoIt3Wrapper_Res_Fileversion=1.0.0.11
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=2019 - by HaSc
#AutoIt3Wrapper_Res_Field=Made by|HaSc
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Date.au3>
#include <String.au3>
#include <StringConstants.au3>
#include <EditConstants.au3>
#include <Misc.au3>
#include <Array.au3>
#include <WinAPIEx.au3>
#include <WinAPIDiag.au3>
#include <WinAPIFiles.au3>
Local $sLongDayName = _DateDayOfWeek(@WDAY, $DMW_LOCALE_LONGNAME) ; Name Wochentag feststellen
Local $sOutput = ""
Global $sSource = "Sicherungszipdatei"
Global $sDesti = "SicherungsLW"
Global $Konto = "harald" ; Logindatgen für PWD-Schutz Zip Datei
Global $Kontonr = "PWD"
If $sLongDayName = "Freitag" Then
$sEidi = MsgBox(4, "Meldung", "Heute ist " & $sLongDayName & "!!!" & @CRLF & @CRLF & "Möchten sie die Datensicherung durchführen?")
If $sEidi = "6" Then
MsgBox(0, "Warnung!!!", "Bitte alle Programme und oder geöffneten Dateien schließen!!!")
$sStatus = Run(@ComSpec & " /c " & "7z a -tzip sic.zip C:\E -pPWD", "Benutzer", @SW_HIDE, $STDOUT_CHILD) ; ZIP wird erstellt im Userkontext
ProcessWaitClose($sStatus)
$sOutput &= StdoutRead($sStatus)
MsgBox(0, "Dieses Fenster nicht verschieben!!!", $sOutput & @CRLF & @CRLF & " Soll der Content Kopiert werden?", 7)
Local $hProgressProc = DllCallbackRegister('_ProgressProc', 'bool', 'uint64;uint64;uint64;uint64;dword;dword;handle;handle;ptr')
ProgressOn('Verschieben', 'Moving...', '0%', -1, -1, 18)
If Not _WinAPI_MoveFileEx($sSource, $sDesti, 3, DllCallbackGetPtr($hProgressProc)) Then
_WinAPI_ShowLastError('Error copying ' & $sSource)
EndIf
DllCallbackFree($hProgressProc)
ProgressOff()
EndIf
Else ; Hier beginnt das Hinweisfenster das automatisch geschlossen werden soll wenn kein Button gedrückt wird...
$Form1_1 = GUICreate("Meldung", 366, 167, -1, -1, -1, BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
GUICtrlCreateLabel("", 40, 24, 4, 4)
$Heute = GUICtrlCreateLabel("Heute ist nicht Freitag." & @CRLF & @CRLF & "Also KEINE Datensicherung!!!", 2, 30, 361, 60, $SS_CENTER)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$doch = GUICtrlCreateButton("Aber hallo DOCH!", 18, 125, 121, 25)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$OK = GUICtrlCreateButton("OK", 272, 125, 65, 25)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $doch
MsgBox(0, "Warnung!!!", "Bitte alle Programme und oder geöffneten Dateien schließen!!!")
$sStatus = Run(@ComSpec & " /c " & "7z a -tzip E_Bosch_sic.zip C:\E -pChange34%", "C:\Users\uah7fe", @SW_HIDE, $STDOUT_CHILD)
ProcessWaitClose($sStatus)
$sOutput &= StdoutRead($sStatus)
MsgBox(0, "Dieses Fenster nicht verschieben!!!", $sOutput & @CRLF & @CRLF & " Soll der Content Kopiert werden?", 7)
Local $hProgressProc = DllCallbackRegister('_ProgressProc', 'bool', 'uint64;uint64;uint64;uint64;dword;dword;handle;handle;ptr')
ProgressOn('Verschieben', 'Moving...', '0%', -1, -1, 18)
If Not _WinAPI_MoveFileEx($sSource, $sDesti, 3, DllCallbackGetPtr($hProgressProc)) Then
_WinAPI_ShowLastError('Error copying ' & $sSource)
EndIf
DllCallbackFree($hProgressProc)
ProgressOff()
Case $OK
MsgBox(0, "Meldung", "weiter geht's!!!", 3)
EndSwitch
WEnd
;MsgBox(4, "Meldung", "Heute ist nicht Freitag. Also keine Datensicherung!!!", 7)
EndIf
Alles anzeigen