Hallo tobi_girst,
zu 1. schaust du dir am besten einmal diesen Beitrag von eukalyptus an, damit hast du schon das grösste Problem erledigt,
mfg (Auto)Bert
Hallo tobi_girst,
zu 1. schaust du dir am besten einmal diesen Beitrag von eukalyptus an, damit hast du schon das grösste Problem erledigt,
mfg (Auto)Bert
Hallo Alina,
dass lässt sich mit _GUICtrlTab_SetCurFocus realisieren,
mfg (Auto)Bert
Hallo kartalBBBB,
du solltest dein Skript zuallererst mal auf einen Stand bringen der sich auch kompilieren lässt. Ich erhalte folgende Fehlermeldungen:
C:\Programme\AutoIt3\Examples\Tests\Downloader.au3(2,10) : ERROR: can't open include file <GDIpProgress.au3>
#include <GDIpProgress.au3>
~~~~~~~~~^
C:\Programme\AutoIt3\Examples\Tests\Downloader.au3(13,84) : WARNING: $WS_GROUP: possibly used before declaration.
$Button = GUICtrlCreateButton("Herunterladen Beginnen", 16, 260, 209, 57, $WS_GROUP)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Programme\AutoIt3\Examples\Tests\Downloader.au3(21,24) : WARNING: $GUI_EVENT_CLOSE: possibly used before declaration.
Case $GUI_EVENT_CLOSE
~~~~~~~~~~~~~~~~~~~~~^
C:\Programme\AutoIt3\Examples\Tests\Downloader.au3(30,42) : WARNING: $GUI_DISABLE: possibly used before declaration.
GUICtrlSetState($Button, $GUI_DISABLE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Programme\AutoIt3\Examples\Tests\Downloader.au3(34,41) : WARNING: $GUI_ENABLE: possibly used before declaration.
GUICtrlSetState($Button, $GUI_ENABLE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Programme\AutoIt3\Examples\Tests\Downloader.au3(13,84) : ERROR: $WS_GROUP: undeclared global variable.
$Button = GUICtrlCreateButton("Herunterladen Beginnen", 16, 260, 209, 57, $WS_GROUP)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Programme\AutoIt3\Examples\Tests\Downloader.au3 - 2 error(s), 4 warning(s)
Alles anzeigen
Desweiteren solltest du in deinem Post die Spoiler- und AutoIt-Tags verwenden,
mfg (Auto)Bert
Hallo darius83,
schau dir mal dieses kleine Skript an:
#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]Global $hchildSek[10]
$Form1 = GUICreate("Form1", 301, 454, 192, 124)
$TreeView1 = GUICtrlCreateTreeView(8, 216, 281, 169)
$var = IniReadSectionNames(@DesktopDir & "\AutoIt-Test.ini")
If @error Then
MsgBox(4096, "", "Error occurred, probably no INI file.")
Else
For $i = 1 To $var[0]
$hchildSek[$i] = GUICtrlCreateTreeViewItem($var[$i], $TreeView1)
$var2 = IniReadSection(@DesktopDir & "\AutoIt-Test.ini", $var[$i])
If Not @error Then
For $j = 1 To $var2[0][0]
GUICtrlCreateTreeViewItem($var2[$j][1], $hchildSek[$i])
Next
EndIf
Next
EndIf
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Sleep(100)
WEnd
Die Ini-Datei habe ich mit dem Beispiel zu IniWriteSection erzeugt,
mfg (Auto)Bert
Hallo Arkaneus,
bei der Installation sollen ja nur die tatsächlich ausgewählten Checkboxen berücksichtigt werden, von daher ist der konstante Wert 14 auf jeden Fall durch die Variable $checked zu ersetzen. Außerdem müsstest du wenn du den Fortschritt zu dem bereits erreichten addieren willst, die Rechenregel Punkt vor Strich beachten und da der Progress in % angegeben wird dies mal 100 nehmen
=>
[autoit]GUICtrlSetState($progress, GUICtrlRead($progress)+ (100 / $checked) )
[/autoit]bei mir hat sich beim kopieren leider auch ein Fehler eingeschlichen es müsste heissen:
[autoit]For $i = 1 To $checked
;hier die entspechenden Installationen aufrufen
GUICtrlSetState($progress, 100 / $checked * $i )
Next
@Kamin, einfacher wäre es wenn du dein bisheriges Skript postest,
mfg (Auto)Bert
Hallo @Arkaneus,
müsste der 2. eizufügenden Teil dann nicht
[autoit]For $i = 1 To $checked
GUICtrlSetState($progress, GUICtrlRead(100 / $checked * $i )
Next
lauten?
mfg (Auto)Bert
Hallo Kamin,
poste bitte dein komplettes Skript,
mfg (Auto)Bert
Hallo Ruffur,
eventuell könntest du das ja mit Konstanten, die du am Skriptanfang (evtl. mit Hilfe von enum) deklarierst, lösen. Anstelle der Zahlenwerte fragst du im Switch .. Case .. endswitch Bereich dann diese Konstanten ab. Dies sollte eine praktikale und schnell pflefgbare Lösung für deine Skripte ergeben,
mfg (Auto)Bert
Hallo PokerFace,
schau dir die Hilfe mit Beispiel zu _Date_Time_SetSystemTime an, ist genau das was du suchst,
mfg (Auto)Bert
Hallo kamin,
ich habe das Skript aus #10 noch einmal überarbeitet, läuft bei mir wunderbar bis zur letzten MsgBox durch
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.1.1 (beta)
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
;~ Optionen setzen
Opt("WinTitleMatchMode", 2)
Opt("SendKeyDelay", 100)
Global $search = FileExists(@StartupDir & "\autoitscriptneustart.lnk") ;<===========
;MsgBox(0, "", "", $search)
Global $neustart = @ScriptDir & "\neustart.txt" ;Nachdem Rebootet wurde
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]If FileExists($neustart) Then ;Das ließt er ein wenn der PC rebootet hat!
[/autoit] [autoit][/autoit] [autoit]$fso = FileOpen($neustart, 0)
$value = FileReadLine($fso)
FileClose($fso)
FileDelete($neustart)
FileDelete(@StartupDir & "\autoitscriptneustart.lnk")
Switch $value
Case "Nachneustart1" ;Wenn der PC das findet startet er Notepad.exe und gibt eine Message raus
Nachneustart1()
Case Else
Exit 5
EndSwitch
Else
Main()
EndIf
Exit
;Ändern der UAC!
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];Dim $EIN = 0x00000001 ;<=========== wird nie verwendet, daher auskommentiert
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func Main() ;Das wird die Neustartdatei nachdem die Regestry umgestellt und die Messagebox ein ok gibt!
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Local $AUS = 0x00000000 ;<=========== falls nicht öfters benötigt ist hier die passenste Stelle
[/autoit] [autoit][/autoit] [autoit];Regestrycode zum ändern der UAC!
[/autoit] [autoit][/autoit] [autoit]; If RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System", "EnableLUA", "REG_DWORD", $AUS) = 1 Then ;Regestrycode zum ändern der UAC! ;<=========== auf Erfolg prüfen (klappt bei mir nicht)
If RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System", "EnableLUA", "REG_DWORD", $AUS) Then ;Regestrycode zum ändern der UAC! ;<=========== ohne Prüfung
;Bei Bestätigung der MSG wird eine neustartdatei geschrieben!
;@CRLF ist für den Zeilenumbruch in der MessageBox
;Der 3. Parameter (=10) isz zuständig für das schliessen der MessageBox
$result = MsgBox("48", "Message", "Achtung! in 10 Sec. wird der PC neugestartet!" &@CRLF & "Oder OK drücken für sofortigen Neustart.",1)
EndIf
ConsoleWrite($result) ;wenn beantwortet dann wird hier angefangen die Nachneustart1.txt zu schreiben!
If $result <= 1 Then ;<===========TimeOut liefert 0
CreateRestart("Nachneustart1")
;Send("{ENTER}") ;<=========== durch TimeOut unnötig
Main2()
Exit 0
EndIf
EndFunc ;==>Main
; Hier wird der RestartPrüfpunkt gesetzt
Func CreateRestart($Nachneustart1)
$fso = FileOpen($neustart, 2)
FileWriteLine($fso, $Nachneustart1)
FileClose($fso)
FileCreateShortcut(@ScriptFullPath, @StartupDir & "\autoitscriptneustart.lnk", @ScriptDir)
EndFunc ;==>CreateRestart
; Prüfen, ob die Datei in autostart gepackt wurde!
Func Main2()
Sleep(3000)
If $search = -1 Then ;Wenn datei nicht gefunden gibt er Mesasage aus!
MsgBox(0, "Fehler", "Es wurden keine Dateien/Verzeichnisse gefunden, die zu dem Suchmuster passen")
Exit
EndIf
; While 1
$file = FileExists($search) ;Wenn gefunden dann hört der PC auf zu suchen und startet den neustart
;If @error Then ExitLoop
Shutdown(2)
; WEnd
; Handle für Suche schliessen
;FileClose($search) ;<=========== FileExists gibt kein FileHandle zurück daher unnötig, schädlich?????
EndFunc ;==>Main2
Func Nachneustart1() ;Was der PC nach dem Reboot machen soll!
;If ($neustartdelete) = 1 then ;<=========== wo deklarierst du den diese Variable und wo weist du ihr den Wert 1 zu?????
MsgBox (0,"ich bin auf","test")
;$gestartet = Run("notepad.exe")
;MsgBox(0,"","Notepad würde gestartet",$gestartet) ; <=================
#cs
Else
MsgBox (0,"Fehler","Es klappt nicht")
EndIf
#ce
Exit 0
EndFunc ;==>Nachneustart1
mfg (Auto)Bert
PS: Nein ich habe kein ICQ und komme aus der Ecke, wo es den besten Wein gibt
Hallo Kamin,
ich habe das Skript noch einmal überarbeitet und zusätzliche MSGBOXen eingefügt (zwecks Kontrolle, können gelöscht werden). Dieses Skript läuft bei mir mit 2 Einschränkungen:
System WinXP SP3
AutoIt 3.3.0.0
teste es einfach einmal durch. Den Fehler den du beschrieben hast kann ich an dieser Stelle, wo du in vermutest in meinem heute morgen geposteten Skript nicht finden,
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.1.1 (beta)
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
;~ Optionen setzen
Opt("WinTitleMatchMode", 2)
Opt("SendKeyDelay", 100)
;ConsoleWrite(@StartupDir & @CRLF)
[/autoit] [autoit][/autoit] [autoit]Global $search = FileExists(@StartupDir & "\autoitscriptneustart.lnk") ;<===========
;MsgBox(0, "", "", $search) ;<===========
Global $neustart = @ScriptDir & "\neustart.txt" ;Nachdem Rebootet wurde
[/autoit] [autoit][/autoit] [autoit]If FileExists($neustart) Then ;Das ließt er ein wenn der PC rebootet hat!
$fso = FileOpen($neustart, 0)
$value = FileReadLine($fso)
FileClose($fso)
FileDelete($neustart)
FileDelete(@StartupDir & "\autoitscriptneustart.lnk")
;MsgBox(0,"Value: ",$value) ;<=========== wieder löschen
Switch $value
Case "Nachneustart1"
Nachneustart1()
Case Else
Exit 5
EndSwitch
Else
Main()
EndIf
Exit
;Ändern der UAC!
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];Dim $EIN = 0x00000001 ;<=========== wird nie verwendet, daher auskommentiert
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func Main() ;Das wird die Neustartdatei nachdem die Regestry umgestellt und die Messagebox ein ok gibt!
Local $AUS = 0x00000000 ;<=========== falls nicht öfters benötigt ist hier die passenste Stelle
;<=========== hier ein IF eingefügt, da für Then benötigt
; If RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System", "EnableLUA", "REG_DWORD", $AUS) = 1 Then ;Regestrycode zum ändern der UAC! ;<=========== auf Erfolg prüfen (klappt bei mir nicht)
If RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System", "EnableLUA", "REG_DWORD", $AUS) Then ;Regestrycode zum ändern der UAC! ;<=========== ohne Prüfung
$result = MsgBox("48", "Message", "Achtung! in 10 Sec. wird der PC neugestartet!" &@CRLF & "Oder OK drücken für sofirtigen Neustart.",10) ;Bei Bestätigung der MSG wird eine neustartdatei geschrieben!
EndIf ;<=========== abschliessendes EndIf für obiges IF ... Then
;ConsoleWrite($result)
If $result <= 1 Then ;<===========TimeOut liefert 0
CreateRestart("Nachneustart1")
;Send("{ENTER}") ;<=========== durch TimeOut unnötig
Main2()
Exit 0
EndIf
EndFunc ;==>Main
; Hier wird der RestartPrüfpunkt gesetzt
Func CreateRestart($Nachneustart1)
$fso = FileOpen($neustart, 2)
FileWriteLine($fso, "Nachneustart1") ;<=========== da später auf diesen Text geprüft wird
FileClose($fso)
FileCreateShortcut(@ScriptDir & "\" & @ScriptName, @StartupDir & "\autoitscriptneustart.lnk", @ScriptDir)
EndFunc ;==>CreateRestart
; Prüfen, ob die Datei in autostart gepackt wurde!
Func Main2()
;Sleep(3000)
If $search = -1 Then
MsgBox(0, "Fehler", "Es wurden keine Dateien/Verzeichnisse gefunden, die zu dem Suchmuster passen")
Exit
EndIf
While 1
$file = FileExists($search)
If @error Then ExitLoop
MsgBox(4096, "Gefunden!", $file,20)
Shutdown(2) ;<=========== wieder aktivieren
WEnd
; Handle für Suche schliessen
;FileClose($search) ;<=========== FileExists gibt kein FileHandle zurück daher unnötig, schädlich?????
EndFunc ;==>Main2
Func Nachneustart1() ;Was der PC nach dem Reboot machen soll!
MsgBox(0,"Nachneustart1","die func wird ausgeführt",20) ;<================= das klappt
If ControlShow("Trayclockwclass", "", 303) Then ;<================= hier läuft bei mir etwas schief
;Sleep(6000)
MsgBox(0,"","Notepad würde gestartet",10) ;<=================
;Run("notepad.exe")
EndIf
Exit 0
EndFunc ;==>Nachneustart1
Edit: Skript eingefügt
mfg (Auto)Bert
Hallo Kamin,
hab dein Skript mal kurz getestet und Änderungen mit ;<=========== gekennzeichnet
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.1.1 (beta)
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
;~ Optionen setzen
Opt("WinTitleMatchMode", 2)
Opt("SendKeyDelay", 100)
Global $search = FileExists(@StartupDir & "\autoitscriptneustart.lnk") ;<===========
;MsgBox(0, "", "", $search)
Global $neustart = @ScriptDir & "\neustart.txt" ;Nachdem Rebootet wurde
[/autoit] [autoit][/autoit] [autoit]If FileExists($neustart) Then ;Das ließt er ein wenn der PC rebootet hat!
$fso = FileOpen($neustart, 0)
$value = FileReadLine($fso)
FileClose($fso)
FileDelete($neustart)
FileDelete(@StartupDir & "\autoitscriptneustart.lnk")
Switch $value
Case "Nachneustart1"
Nachneustart1()
Case Else
Exit 5
EndSwitch
Else
Main()
EndIf
Exit
;Ändern der UAC!
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];Dim $EIN = 0x00000001 ;<=========== wird nie verwendet, daher auskommentiert
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func Main() ;Das wird die Neustartdatei nachdem die Regestry umgestellt und die Messagebox ein ok gibt!
Local $AUS = 0x00000000 ;<=========== falls nicht öfters benötigt ist hier die passenste Stelle
;<=========== hier ein IF eingefügt, da für Then benötigt
If RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System", "EnableLUA", "REG_DWORD", $AUS) Then ;Regestrycode zum ändern der UAC!
$result = MsgBox("48", "Message", "Achtung! in 10 Sec. wird der PC neugestartet!" &@CRLF & "Oder OK drücken für sofirtigen Neustart.",10) ;Bei Bestätigung der MSG wird eine neustartdatei geschrieben!
EndIf ;<=========== abschliessendes EndIf für obiges IF ... Then
ConsoleWrite($result)
If $result <= 1 Then ;<===========TimeOut liefert 0
CreateRestart("Nachneustart1")
;Send("{ENTER}") ;<=========== durch TimeOut unnötig
Main2()
Exit 0
EndIf
EndFunc ;==>Main
; Hier wird der RestartPrüfpunkt gesetzt
Func CreateRestart($Nachneustart1)
$fso = FileOpen($neustart, 2)
FileWriteLine($fso, $Nachneustart1)
FileClose($fso)
FileCreateShortcut(@ScriptFullPath, @StartupDir & "\autoitscriptneustart.lnk", @ScriptDir)
EndFunc ;==>CreateRestart
; Prüfen, ob die Datei in autostart gepackt wurde!
Func Main2()
Sleep(3000)
If $search = -1 Then
MsgBox(0, "Fehler", "Es wurden keine Dateien/Verzeichnisse gefunden, die zu dem Suchmuster passen")
Exit
EndIf
While 1
$file = FileExists($search)
If @error Then ExitLoop
Shutdown(2)
MsgBox(4096, "Gefunden!", $file)
WEnd
; Handle für Suche schliessen
FileClose($search)
EndFunc ;==>Main2
Func Nachneustart1() ;Was der PC nach dem Reboot machen soll!
If ControlShow("Trayclockwclass", "", 303) Then
Sleep(6000)
MsgBox(0,"","Notepad würde gestartet") ; <=================
;Run("notepad.exe")
EndIf
Exit 0
EndFunc ;==>Nachneustart1
Edit: In MsgBox für Restart TimeOut eingefügt und dadurch nötige Änderungen durchgeführt
mfg (Auto)Bert
Hallo hilio,
poste doch einfach dein aktuelles Skript, den anderen Thread hast du ja schon auf gelöst gesetzt,
mfg (Auto)Bert
Hallo nuts,
habs zwar nicht getestet aber wenn du im obigen Skript von funkey die Zeilen gegen
[autoit]Local $hWnd = ControlGetHandle("Values(6)","",$ListView1)
Local $pos = ControlGetPos("Values(6)","",$ListView1)
austauschst sollte es klappen, dass nur die Listview ausgedruckt wird,
mfg (Auto)Bert
hallo reaker,
wenn du deine Tabelle in einer HTML-Datei speicherst, kannst du diese über den IE ausdrucken siehe [gelöst] Ausdrucken von Gui-Listen,
mfg (Auto)Bert
Hallo Baron1977,
da ich jetzt erst das neue helfshandbuch habe von autoit und nicht mit den _IEAttach und _IEAction klar komme wie müßte ich vorgehen
helfshandbuch?
Hier findest du die Hilfe Deutsch) ,
mfg (Auto)Bert