ich glaube der eignet sich auch:
ZitatHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\OUTLOOK.EXE
ich glaube der eignet sich auch:
ZitatHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\OUTLOOK.EXE
Könntest du bitte eine Beispiel-Ini posten?
Ich würde die ini auf jeden Fall anders formatieren.
Die Section anhand der Value's und Key's zu ermitteln ist eher unpraktisch.
Um dir vernünftig helfen zu können brauchen wir das ganze Script.
Es kann an allem möglichen liegen.
Also bitte vollständig posten.
Versuch doch bitte mal mit Kommentaren genau zu beschreiben was du in den einzelnen Zeilen des Scripts aus Post #7 machst.
das ganze ist ja unvollständig und mir ist nicht ganz klar was du machen willst.
sollte so iwie gehn:
if Bitand(GUICtrlGetState($id), $GUI_SHOW) then
msgbox(0,"","Das control ist sichtbar")
else
msgbox(0,"","Das control ist nicht sichtbar")
endif
hab hier leider kein autoit und kanns deshalb nicht testen
Ja array's haben mich auch etwas abgeschreckt.
Jetzt mach ich alles damit^^
vllt hilft das von BugFix: http://www.bug-fix.info/array_tut.htm
probiers mal so:
Func testen()
$start = ShellExecute("C:\lol\lol.exe")
Sleep(2000)
ControlClick("Fehlermeldung","","[CLASS:Button; INSTANCE:1]")
Sleep(3000)
ControlClick("lol","","[CLASS:Button; INSTANCE:1]")
Sleep(1000)
WinWaitActive("[CLASS:ThunderRT6FormDC]")
dim $array
_FileReadToArray(@ScriptDir & "\test2.txt", $array)
for $i = 1 to $array[0]
MsgBox(0,"",$array[$i])
next
WEnd
EndFunc ;==>testen
edit: man bin ich langsam
ich hab zwar ne lösung aber die ist eher blöd.
an deiner stelle würde ich mir immer die id's der erstellten controls speichern.
bei soetwas bieten sich array's an.
also alle unterpunkte von menü eins in einem array speichern. dann sind sie schnell effektiv und sicher mit einer einfachen for schleife gelöscht
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]$Gui=GUICreate("MenuItems löschen?",300,200,150,150)
GUISetOnEvent(-3, '_Exit')
$button=GUICtrlCreateButton("Items löschen",110,70,80,40)
GUICtrlSetOnEvent(-1, "_itemsloeschen")
$Menu1=GUICtrlCreateMenu("Menü1")
GUICtrlCreateMenuItem("Item1",$Menu1)
GUICtrlCreateMenuItem("Item2",$Menu1)
GUICtrlCreateMenuItem("Item3",$Menu1)
GUICtrlCreateMenuItem("Item4",$Menu1)
GUICtrlCreateMenuItem("Item5",$Menu1)
$Menu2=GUICtrlCreateMenu("Menü2")
GUICtrlCreateMenuItem("Item6",$Menu2)
GUICtrlCreateMenuItem("Item7",$Menu2)
GUICtrlCreateMenuItem("Item8",$Menu2)
GUISetState(@SW_SHOW)
While Sleep(100)
WEnd
Func _Exit()
Exit
EndFunc
Func _itemsloeschen()
For $i = $Menu1 + 1 To $Menu2 - 1 ; sehr blöde lösung
GUICtrlDelete($i)
Next
EndFunc
ich glaub ich kenn blos 2 filme die in etwa so alt sein könnten. das ist "die feuerzangenbowle" und "arsen ...."
der 2te titel könnte es sein aber ich weiß nichtmehr wie der genau heißt
das haste richtig gelernt
aber:
der oneventmodus und auch adlibregister sind da ausnahmen.
die halten alles andere an und führen dann ersteinmal ihre funktion aus.
nachdem die funktion ausgeführt ist gehts da weiter wo zuvor angehalten wurde
die 2 sind so spezielle fälle. sonst isses aber richtig dass eine endlosschleife endlos ist
am besten ein rar oder zip archiv machen und dann hochladen (im reiter dateianhänge)
Ps: Ich glaube nicht das mein Tut keine Fragen offen lässt aber im Prizip standen die letzten Posts hier so ähnlich im Tutorial und wenn einer überhaupt keine eigeninitiantive zeigt, dann hab ich keine Lust für ihn zu schreiben.
jup seh ich auch so.
grundsätzlich sollte es erstmal jeder selbst probieren.
wenn dann hilfe benötigt wird kann sich ja jeder gerne melden. (mit script)
BadBunny: übernimm dich für die ersten scripts nicht allzusehr.
mit gdi+ arbeiten eher wenig. natürlich kann man sehr tolle sachen damit machen aber grundlagen sollte man ersteinmal wo anders lernen
is meine meinung dazu...
ich denke mal das liegt daran:
GUICtrlSetPos($Button3, $y3, $x3)
GUICtrlSetPos($Button4, $y3, $x4)
und ich würde die x koordinate nicht unbedingt y nennen, das machts nicht unbedingt leichter^^
vorschlag :
#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $y1 = 200, $y2 = 432, $y3 = 560
Global $x1 = 19, $x2 = 19, $x3 = 19
$Form1 = GUICreate("GUI", 446, 836, 444, 12)
GUISetOnEvent($GUI_EVENT_CLOSE, "Ende")
$Button1 = GUICtrlCreateButton("o", 216, 752, 17, 17, 0)
$Button2 = GUICtrlCreateButton("<", 560, 560, 19, 17, 0)
$Button3 = GUICtrlCreateButton(">", 432, 432, 19, 17, 0)
$Button4 = GUICtrlCreateButton("<", 200, 256, 19, 17, 0)
GUISetState(@SW_SHOW)
AdlibRegister("MoveButtons", 10)
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(10)
WEnd
Func Ende()
Exit
EndFunc
Func MoveButtons()
$y1 += 1
$y2 += 1
$y3 += 1
GUICtrlSetPos($Button2, $x1, $y1)
GUICtrlSetPos($Button3, $x2, $y2)
GUICtrlSetPos($Button4, $x3, $y3)
If $y1 > 800 Then
$y1 = 5
$x1 = Random(10, 400, 50)
EndIf
If $y2 > 800 Then
$y2 = 5
$x2 = Random(10, 400, 50)
EndIf
If $y3 > 800 Then
$y3 = 5
$x3 = Random(10, 400, 50)
EndIf
EndFunc
so z.b.:
[autoit]GUICreate("mauspos-tool", 200, 200)
$x = GUICtrlCreateLabel("0", 5, 10, 20)
$y = GUICtrlCreateLabel("0", 5, 30, 20)
GUISetState()
AdlibRegister("Mouseupdate", 50)
[/autoit][autoit][/autoit][autoit]while 1
sleep(100)
WEnd
Func Mouseupdate()
GUICtrlSetData($x, Mousegetpos(0))
GUICtrlSetData($y, Mousegetpos(1))
EndFunc
Danke hat funktioniert^^ aber wofür ist dieses GUISetOnEvent(-3, '_Exit')
autoit kann man in 2 verschiedenen modi schreiben.
entweder im onevent modus wie das script war oder im "standard"-modus getmsg
erstell das fenster mit dem ex style $WS_EX_TOPMOST
wenn es ne fremdgui ist dann winsetontop
du sollst nicht 2mal hintereinander posten.
wenn dir nach paar minuten noch was einfällt was du in deinem letzen post noch nicht gesagt hast dann bearbeite ihn einfach
progandy hat mal ne GDI+ progressbar gepostet.
https://autoit.de/index.php?page…reate#post57040
mit einigen änderungen sollteste deine wünsche hinbekommen
d.h. $lon ist bei dir kein array.
d.h. er findet in $rFile keinen wert der zwischen "var lon =" und ";" steht
musst dir genau raussuchen wie dus schreibst.
evtl gehört kein leerzeichen zwischen lon und = ?
also so? "var lon="