hallo :),
ich hatte vor Autoit zu lernen.
nun hab ich mich ein bisschen damit beschäftigt und wenn ich ein kleines script mit einem GUI schreibe dann schließt sich das Fenster direkt nach dem öffnen wieder
wenn mir jemand helfen könnte warum sich das fenster sofort schließt wäre ich sehr dankbar
ich hoffe auf eine antwort
lg
GUI Fenster schliest
-
- [ offen ]
-
Julsco -
19. Juli 2009 um 19:40 -
Geschlossen -
Erledigt
-
-
hi,
[autoit]
also zu deinem "GUI-Problem":GUISetState(@SW_SHOW); Macht die GUI sichtbar (hattest du offenbahr schon)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]While 1 ;eine schleife (die DERZEIT nur auf den Schließen-Befehl mit Exit (=Beenden) reagiert) muss gesetzt werden damit die GUI angezeigt wird
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEnd
PS: ein simples sleep(5000) würde die GUI 5 Sekunden anzeigen, würde aber keine reaktion auf den Schließen-Befehl , ist manchmal ganz hilfreich um die GUI anzugucken.. Sonst kann ich dir nur den KODA empfehlen mit dem man ziemlich schnell GUI's zaubern kann (Autoitverzeichnis\Scite\Koda\FD.exe) -
hey danke
funktioniert jetzt wunderbar, danke dir
-
aber naja jetzt funktionieren die ganzen funktionen nicht mehr sprich ich klick auf einen button und es passiert nicht wo sich eigentlich ein neues fenster öffnen müsste
weißt du oder wer anders wodran das liegen könnte?
-
Hallo und herzlich Willkommen !
Hier mal ein Beispiel für eine GUI:
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <GUIConstants.au3>#region - GUI Create
[/autoit][autoit][/autoit][autoit]
GUICreate('Julscos GUI')
$Button = GUICtrlCreateButton("Beenden", 10, 10, 75, 22)
GUISetState()
#endregion#region - GUI SelectLoop
[/autoit]
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $Button
Exit
;Case $msg =
;Case $msg =
;Case $msg =
;Case $msg =
EndSelect
WEnd
#endregion
Vielleicht kannst Du Dein Script zeigen ?
Edit: Ich habe Dir noch einen Button eingebaut.
-
so hier mal mein code vom script
Spoiler anzeigen
[autoit]#Region
[/autoit] [autoit][/autoit] [autoit]#AutoIt3Wrapper_icon=Icons\Script.ico
[/autoit] [autoit][/autoit] [autoit]
#EndRegion
Opt("GuiOnEventMode",1)
Opt("TrayMenuMode",1)
Opt("TrayOnEventMode",1)#include
[/autoit] [autoit][/autoit] [autoit]
;~ General DeclarationsGlobal $title = "Julscos Autoit Scipt ", $ar_setting[50][2]
[/autoit] [autoit][/autoit] [autoit]
Global $cmb_skill = "1|2|3|4|5|6|7|8", $cmb_key = "1|2|3|4|5|6|7|8|9"
Global $sel_pntr
Global $dbluse;~ Lvl
[/autoit] [autoit][/autoit] [autoit]Global $coll_arwin[4], $coll_winpid[4]
[/autoit] [autoit][/autoit] [autoit]
Global $coll_key[4], $coll_selwin[4], $coll_start[4], $coll_stop[4], $coll_wintitle[4];~ Window Settings
[/autoit] [autoit][/autoit] [autoit]Global $winopt_arlist[1][2], $winopt_int, $winopt_aref = 0, $winopt_clist[1][2], $winopt_ctime[1][4], $winopt_ctoken = 0, $winopt_cinit[1]
[/autoit] [autoit][/autoit] [autoit]#Region Gui Initialize
[/autoit] [autoit][/autoit] [autoit]$main = GUICreate($title,448,463,@DesktopWidth / 2 - 250,@DesktopHeight / 2 - 250)
[/autoit] [autoit][/autoit] [autoit]$tray = TrayCreateItem("Exit")
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTab(0,0,450,465)
[/autoit] [autoit][/autoit] [autoit]#Region Lvl
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateTabItem("Lvl Bot")For $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Select F-Key For Attack",20,50 + ($i * 110),160,13)
$coll_wintitle[$i] = GUICtrlCreateLabel("No Window Selected",220,95 + ($i * 110),110,30)$coll_key[$i] = GUICtrlCreateCombo("F-Key",35,70 + ($i * 110), 80,25,0x3)
[/autoit] [autoit][/autoit] [autoit]
$coll_selwin[$i] = GUICtrlCreateButton("Select Window",220,70 + ($i * 110),85,20)
$coll_start[$i] = GUICtrlCreateButton("Start",350,50 + ($i * 110),70,20)
$coll_stop[$i] = GUICtrlCreateButton("Stop",350,85 + ($i * 110), 70,20)GUICtrlSetData($coll_key[$i],$cmb_key)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($coll_stop[$i],128)
Next#EndRegion
[/autoit] [autoit][/autoit] [autoit]#Region Window Settings
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateTabItem(" Window Settings")
GUICtrlCreateGroup("Settings",10,23,430,430)$winopt_list = GUICtrlCreateList("",40,90,170,150)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$winopt_refresh = GUICtrlCreateButton("Refresh",260,110,70,20)
$winopt_rename = GUICtrlCreateButton("Rename",340,110,70,20)
$winopt_hide = GUICtrlCreateButton("Hide",260,145,70,20)
$winopt_show = GUICtrlCreateButton("Show",340,145,70,20)
$winopt_kill = GUICtrlCreateButton("Kill",260,180,70,20)
$winopt_jump = GUICtrlCreateButton("Jump To",340,180,70,20)
$winopt_closetime = GUICtrlCreateButton("Close On Time",295,215,80,20)
$winopt_ctlist = GUICtrlCreateList("",40,270,170,150)
GUICtrlCreateLabel("Next Window To Close:",230,280,130,20)
$winopt_cwindis = GUICtrlCreateLabel("",230,300,130,20)
GUICtrlCreateLabel("Time Left:",230,340,50,20)
$winopt_cwintimer = GUICtrlCreateLabel("00:00:00",310,340,70,20)
$winopt_ctstop = GUICtrlCreateButton("Remove",260,390,70,20)GUICtrlSetOnEvent($winopt_refresh,"_WinOptRefresh")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($winopt_rename,"_Rename")
GUICtrlSetOnEvent($winopt_hide,"_Hide")
GUICtrlSetOnEvent($winopt_show,"_Show")
GUICtrlSetOnEvent($winopt_kill,"_Kill")
GUICtrlSetOnEvent($winopt_jump,"_JumpTo")
GUICtrlSetOnEvent($winopt_closetime,"_WinOptCTime")#EndRegion
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW,$main)
[/autoit] [autoit][/autoit] [autoit]
Global $gui_pid = WinGetProcess($main)#EndRegion
[/autoit] [autoit][/autoit] [autoit]#Region Function Include
[/autoit] [autoit][/autoit] [autoit]
#include "Include\writeini.au3"
#include "Include\lvl.au3"
#include "Include\window.au3"
#include "Include\regular.au3"#EndRegion Function Include
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit] [autoit][/autoit] [autoit][/autoit]
WEnd
sollte ich dann auch die 4 scripte posten die included werden? -
Hi,
Du hast den GuiOnEventMode eingeschaltet und zusammen mit MessageloopMode, aber nur eines ist möglich.
(Funktionen fehlen)Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#Region#AutoIt3Wrapper_Icon=Icons\Script.ico
[/autoit] [autoit][/autoit] [autoit]
#EndRegion
Opt("GuiOnEventMode", 1);###################################################################################################
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)Global $title = "Julscos Autoit Scipt ", $ar_setting[50][2]
[/autoit] [autoit][/autoit] [autoit]
Global $cmb_skill = "1|2|3|4|5|6|7|8", $cmb_key = "1|2|3|4|5|6|7|8|9"
Global $sel_pntr
Global $dbluse;~ Lvl
[/autoit] [autoit][/autoit] [autoit]Global $coll_arwin[4], $coll_winpid[4]
[/autoit] [autoit][/autoit] [autoit]
Global $coll_key[4], $coll_selwin[4], $coll_start[4], $coll_stop[4], $coll_wintitle[4];~ Window Settings
[/autoit] [autoit][/autoit] [autoit]Global $winopt_arlist[1][2], $winopt_int, $winopt_aref = 0, $winopt_clist[1][2], $winopt_ctime[1][4], $winopt_ctoken = 0, $winopt_cinit[1]
[/autoit] [autoit][/autoit] [autoit]#Region Gui Initialize
[/autoit] [autoit][/autoit] [autoit]$main = GUICreate($title, 448, 463, @DesktopWidth / 2 - 250, @DesktopHeight / 2 - 250)
[/autoit] [autoit][/autoit] [autoit]$tray = TrayCreateItem("Exit")
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTab(0, 0, 450, 465)
[/autoit] [autoit][/autoit] [autoit]#Region Lvl
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateTabItem("Lvl Bot")For $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Select F-Key For Attack", 20, 50 + ($i * 110), 160, 13)
$coll_wintitle[$i] = GUICtrlCreateLabel("No Window Selected", 220, 95 + ($i * 110), 110, 30)$coll_key[$i] = GUICtrlCreateCombo("F-Key", 35, 70 + ($i * 110), 80, 25, 0x3)
[/autoit] [autoit][/autoit] [autoit]
$coll_selwin[$i] = GUICtrlCreateButton("Select Window", 220, 70 + ($i * 110), 85, 20)
$coll_start[$i] = GUICtrlCreateButton("Start", 350, 50 + ($i * 110), 70, 20)
$coll_stop[$i] = GUICtrlCreateButton("Stop", 350, 85 + ($i * 110), 70, 20)GUICtrlSetData($coll_key[$i], $cmb_key)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($coll_stop[$i], 128)
Next#EndRegion Lvl
[/autoit] [autoit][/autoit] [autoit]#Region Window Settings
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateTabItem(" Window Settings")
GUICtrlCreateGroup("Settings", 10, 23, 430, 430)$winopt_list = GUICtrlCreateList("", 40, 90, 170, 150)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$winopt_refresh = GUICtrlCreateButton("Refresh", 260, 110, 70, 20) ;#######################################################
GUICtrlSetOnEvent(-1, "_WinOptRefresh");###################################################################################
$winopt_rename = GUICtrlCreateButton("Rename", 340, 110, 70, 20)
$winopt_hide = GUICtrlCreateButton("Hide", 260, 145, 70, 20)
$winopt_show = GUICtrlCreateButton("Show", 340, 145, 70, 20)
$winopt_kill = GUICtrlCreateButton("Kill", 260, 180, 70, 20)
$winopt_jump = GUICtrlCreateButton("Jump To", 340, 180, 70, 20)
$winopt_closetime = GUICtrlCreateButton("Close On Time", 295, 215, 80, 20)
$winopt_ctlist = GUICtrlCreateList("", 40, 270, 170, 150)
GUICtrlCreateLabel("Next Window To Close:", 230, 280, 130, 20)
$winopt_cwindis = GUICtrlCreateLabel("", 230, 300, 130, 20)
GUICtrlCreateLabel("Time Left:", 230, 340, 50, 20)
$winopt_cwintimer = GUICtrlCreateLabel("00:00:00", 310, 340, 70, 20)
$winopt_ctstop = GUICtrlCreateButton("Remove", 260, 390, 70, 20)GUICtrlSetOnEvent($winopt_rename, "_Rename")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($winopt_hide, "_Hide")
GUICtrlSetOnEvent($winopt_show, "_Show")
GUICtrlSetOnEvent($winopt_kill, "_Kill")
GUICtrlSetOnEvent($winopt_jump, "_JumpTo")
GUICtrlSetOnEvent($winopt_closetime, "_WinOptCTime")#EndRegion Window Settings
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW, $main)
[/autoit] [autoit][/autoit] [autoit]
Global $gui_pid = WinGetProcess($main)#EndRegion Gui Initialize
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
;$nMsg = GUIGetMsg();#################################################################################################
;Switch $nMsg
;Case $GUI_EVENT_CLOSE
;Exit
;EndSwitch
WEndFunc _WinOptRefresh()
[/autoit]
MsgBox(0, "Test", "Nur zum Testen !" & @TAB);#########################################################################
EndFunc
Viel Erfolg !
-
danke soweit
aba nu hab ich nächstes problem

könntet ihr euch vllt noch die 4 include dateien angucken?
und mir sagen was da die errors verursacht... ich blick da iwie grad nich mehr durch warum es diese fehlermeldungen gibt
als erstes die writeini.au3Spoiler anzeigen
[autoit]Func _IniSave()
[/autoit] [autoit][/autoit] [autoit]
Dim $check, $keyFor $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
$read_inpt = GUICtrlRead($coll_key[$i])
$val = IniRead("Settings.ini","Collect","key" & $i + 1,"x")If ($val = "default" And $read_inpt = "F-Key") Or $val = $read_inpt Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Else
If $read_inpt = "F-Key" Or $val = "x" Then
IniWrite("Settings.ini","Collect","key" & $i + 1,"default")
Else
IniWrite("Settings.ini","Collect","key" & $i + 1,$read_inpt)
EndIf
EndIfNext
[/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _IniLoad()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]For $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
$val = IniRead("Settings.ini","Collect","key" & $i + 1,"x")
If $val = "x" Then
IniWrite("Settings.ini","Collect","key" & $i + 1,"default")
Else
If Number($val) >= 1 And Number($val) <= 9 Then
GUICtrlSetData($coll_key[$i],"")
GUICtrlSetData($coll_key[$i],"F-Key|" & $cmb_key,$val)
EndIf
EndIfNext
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit]
dann die window.au3Spoiler anzeigen
[autoit]Func _Rename()
[/autoit] [autoit][/autoit] [autoit]
$winopt_int = 1
_WinOptEntry()
EndFuncFunc _Hide()
[/autoit] [autoit][/autoit] [autoit]
$winopt_int = 2
_WinOptEntry()
EndFuncFunc _Show()
[/autoit] [autoit][/autoit] [autoit]
$winopt_int = 3
_WinOptEntry()
EndFuncFunc _Kill()
[/autoit] [autoit][/autoit] [autoit]
$winopt_int = 4
_WinOptEntry()
EndFuncFunc _JumpTo()
[/autoit] [autoit][/autoit] [autoit]
$winopt_int = 5
_WinOptEntry()
EndFuncFunc _Remove()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_WinOptCTRemove(_GUICtrlListBox_GetCurSel($winopt_ctlist))
EndFuncFunc _WinOptRefresh()
[/autoit] [autoit][/autoit] [autoit]Dim $winopt_arlist[1][2]
[/autoit] [autoit][/autoit] [autoit]
$pntr = _GUICtrlListBox_GetCurSel($winopt_list)
GUICtrlSetData($winopt_list,"")
$prolist = ProcessList("Neuz.exe")
$winlist = WinList()
For $i = 1 To $winlist[0][0]
If WinGetProcess($winlist[$i][0]) = 0 Then
Local $int = UBound($winopt_arlist)
$winopt_arlist[$int - 1][0] = $winlist[$i][0]
$winopt_arlist[$int - 1][1] = $winlist[$i][1]
ReDim $winopt_arlist[$int + 1][2]
GUICtrlSetData($winopt_list,$winlist[$i][0] & " -- " & $winlist[$i][1])
EndIf
For $a = 1 To $prolist[0][0]
If WinGetProcess($winlist[$i][0]) = $prolist[$a][1] Then
Local $int = UBound($winopt_arlist)
$winopt_arlist[$int - 1][0] = $winlist[$i][0]
$winopt_arlist[$int - 1][1] = $winlist[$i][1]
ReDim $winopt_arlist[$int + 1][2]
GUICtrlSetData($winopt_list,$winlist[$i][0] & " -- " & $winlist[$i][1])
EndIfNext
[/autoit] [autoit][/autoit] [autoit]Next
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListBox_SetCurSel($winopt_list,$pntr)
EndFuncFunc _WinOptEntry()
[/autoit] [autoit][/autoit] [autoit]
Local $winselect = GUICtrlRead($winopt_list)
For $i = 0 To UBound($winopt_arlist) - 1
If $winselect = ($winopt_arlist[$i][0] & " -- " & $winopt_arlist[$i][1]) Then
If WinExists($winopt_arlist[$i][1]) Then
Switch $winopt_int
Case 1
$nname = _InputBox("Change Window Name","Please enter the desired title",$winopt_arlist[$i][0],$main)
If $nname = "" Then Return
WinSetTitle($winopt_arlist[$i][1],"",$nname)
Case 2
WinSetState($winopt_arlist[$i][1],"",@SW_HIDE)
Case 3
WinSetState($winopt_arlist[$i][1],"",@SW_SHOW)
Case 4
WinKill($winopt_arlist[$i][1])
Case 5
WinActivate($winopt_arlist[$i][1])
EndSwitch
Sleep(1000)
_WinOptRefresh()
Return
Else
_MsgBox(0,$title,"The selected client doesn't exist anymore" & @CRLF & "You should refresh the list.",$main)
Return
EndIf
EndIf
NextEndFunc
[/autoit] [autoit][/autoit] [autoit]Func _WinOptCTime()
[/autoit] [autoit][/autoit] [autoit]
Local $winselect = GUICtrlRead($winopt_list)
For $i = 0 To UBound($winopt_arlist) - 1
If $winselect = ($winopt_arlist[$i][0] & " -- " & $winopt_arlist[$i][1]) Then
If WinExists($winopt_arlist[$i][1]) ThenFor $b = 0 To UBound($winopt_clist) - 1
[/autoit] [autoit][/autoit] [autoit]
If $winopt_arlist[$b][1] = $winopt_clist[$b][1] Then
_MsgBox(0,$title,"You already have a close order onto this window",$main)
Return
EndIfNext
[/autoit] [autoit][/autoit] [autoit]
Local $int = UBound($winopt_clist)
$time = _InputBox($title,"Time to elapse for closing the Flyff window "& @CRLF & $winopt_arlist[$i][0] & " -- " & $winopt_arlist[$i][1] & @CRLF & "(Hours:Minutes:Seconds)","00:00:00",$main,Default,330,Default)
If $time = "" Then Return
$time_split = StringSplit($time,":")If $time_split[0] <> 3 Then
[/autoit] [autoit][/autoit] [autoit]
_MsgBox(0,$title,"Your input doesn't hit the required format",$main)
Return
EndIf$time_split[1] = Number($time_split[1])
[/autoit] [autoit][/autoit] [autoit]
$time_split[2] = Number($time_split[2])
$time_split[3] = Number($time_split[3])
$time_elapse = (($time_split[1] * 3600) * 1000) + (($time_split[2] * 60) * 1000) + ($time_split[3] * 1000)If $time_elapse = 0 Then
[/autoit] [autoit][/autoit] [autoit]
_MsgBox(0,$title,"You can't leave the timer at 0 seconds",$main)
Return
EndIfIf $time_split[2] > 60 Or $time_split[3] > 60 Then
[/autoit] [autoit][/autoit] [autoit]
_MsgBox(0,$title,"You have set a too high number for minutes or seconds",$main)
Return
EndIf$msg = _MsgBox(4,$title,"Is the time correct?" & @CRLF & @CRLF & $time_split[1] & ":" & $time_split[2] & ":" & $time_split[3],$main)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
If $msg = 7 Then Return$winopt_clist[$int - 1][0] = $winopt_arlist[$i][0]
[/autoit] [autoit][/autoit] [autoit]
$winopt_clist[$int - 1][1] = $winopt_arlist[$i][1]$winopt_ctime[$int - 1][0] = $time_elapse
[/autoit] [autoit][/autoit] [autoit]
$winopt_ctime[$int - 1][1] = $time_split[1]
$winopt_ctime[$int - 1][2] = $time_split[2]
$winopt_ctime[$int - 1][3] = $time_split[3]
$winopt_cinit[$int - 1] = TimerInit()If $winopt_ctime[$winopt_ctoken][0] - TimerDiff($winopt_cinit[$winopt_ctoken]) > $winopt_ctime[$int - 1][0] Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$winopt_ctoken = $int - 1
EndIf
GUICtrlSetData($winopt_cwindis,$winopt_clist[$winopt_ctoken][0] & " -- " & $winopt_clist[$winopt_ctoken][1])
GUICtrlSetData($winopt_ctlist,$winopt_clist[$winopt_ctoken][0] & " -- " & $winopt_clist[$winopt_ctoken][1] & " -- " & $winopt_ctime[$int - 1][1] & ":" & $winopt_ctime[$int - 1][2] & ":" & $winopt_ctime[$int - 1][3])
GUICtrlSetData($winopt_cwintimer,StringFormat("i:i:i", $winopt_ctime[$winopt_ctoken][1],$winopt_ctime[$winopt_ctoken][2],$winopt_ctime[$winopt_ctoken][3]))
ReDim $winopt_clist[UBound($winopt_clist) + 1][2]
ReDim $winopt_ctime[UBound($winopt_clist) + 1][4]
ReDim $winopt_cinit[UBound($winopt_clist) + 1]
Return
Else
_MsgBox(0,$title,"The selected client doesn't exist anymore" & @CRLF & "You should refresh the list.",$main)
Return
EndIf
EndIf
NextEndFunc
[/autoit] [autoit][/autoit] [autoit]Func _WinOptCTRemove($entry)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
If $entry = -1 Then Return
_GUICtrlListBox_DeleteString($winopt_ctlist,_GUICtrlListBox_FindString($winopt_ctlist,$winopt_clist[$entry][0] & " -- " & $winopt_clist[$entry][1]))
_ArrayDelete($winopt_clist,$entry)
_ArrayDelete($winopt_ctime,$entry)
_ArrayDelete($winopt_cinit,$entry)
For $i = 0 To UBound($winopt_clist) - 1
$int = 0
For $a = 0 To UBound($winopt_clist) - 1
If $winopt_ctime[$i][0] - TimerDiff($winopt_cinit[$i]) < $winopt_ctime[$a][0] - TimerDiff($winopt_cinit[$a]) Then
$int = $int + 0
Else
$int = $int + 1
EndIf
Next
If $int = 0 Then
$winopt_ctoken = $i
EndIf
Next
GUICtrlSetData($winopt_cwindis,$winopt_clist[$winopt_ctoken][0] & " -- " & $winopt_clist[$winopt_ctoken][1])
GUICtrlSetData($winopt_cwintimer,StringFormat("i:i:i", $winopt_ctime[$winopt_ctoken][1],$winopt_ctime[$winopt_ctoken][2],$winopt_ctime[$winopt_ctoken][3]))
_WinOptRefresh()
EndFunc
dann noch die lvl.au3Spoiler anzeigen
[autoit];~ First Group
[/autoit] [autoit][/autoit] [autoit]Func _CollPos1()
[/autoit] [autoit][/autoit] [autoit]
$sel_pntr = 30
_CollStart()
EndFuncFunc _SCollPos1()
[/autoit] [autoit][/autoit] [autoit]
$sel_pntr = 30
_CollStop()
EndFuncFunc _CollWin1()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$sel_pntr = 30
_SelWindow()
EndFuncFunc _CollStart()
[/autoit] [autoit][/autoit] [autoit]
$sel_pntr = $sel_pntr - 30Select
[/autoit] [autoit][/autoit] [autoit]
Case GUICtrlRead($coll_key[$sel_pntr]) = "F-Key"
_MsgBox(0,$title,"Missing F-Key",$main)
Return
Case WinExists($win_client[3][$sel_pntr][1]) = 0
_MsgBox(0,$title,"The selected window doesn't exist anymore",$main)
ReturnCase $win_client[3][$sel_pntr][1] = ""
[/autoit] [autoit][/autoit] [autoit]
_MsgBox(0,$title,"You need to select a window before",$main)
Return
Case FileExists(@ScriptDir & "\Subfiles\Collector.exe") = 0
_MsgBox(0,$title,"Cannot find \Subfiles\Collector.exe" & @CRLF & "Reinstalling the software may solve this problem",$main)
Return
EndSelectFor $i = 0 To 3
[/autoit] [autoit][/autoit] [autoit]
If $coll_arwin[$i] = $win_client[3][$sel_pntr][1] Then
_MsgBox(0,$title,"There's already running on this window",$main)
Return
EndIf
NextGUICtrlSetState($coll_start[$sel_pntr],128)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($coll_stop[$sel_pntr],64)$coll_arwin[$sel_pntr] = $win_client[3][$sel_pntr][1]
[/autoit] [autoit][/autoit] [autoit]
Local $params = $gui_pid & '" "' & GUICtrlRead($coll_key[$sel_pntr]) & '" "' & $coll_arwin[$sel_pntr]
$coll_winpid[$sel_pntr] = Run(@ScriptDir & '\Subfiles\Collector.exe "' & $params & '"')EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _CollStop()
[/autoit] [autoit][/autoit] [autoit]
$sel_pntr = $sel_pntr - 30
ProcessClose($coll_winpid[$sel_pntr])
$coll_winpid[$sel_pntr] = ""
$coll_arwin[$sel_pntr] = ""GUICtrlSetState($coll_start[$sel_pntr],64)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($coll_stop[$sel_pntr],128)EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
und zuletzt die regular.au3Spoiler anzeigen
[autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _SelWindow()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_DISABLE,$main)
$win_gui = GUICreate("Select A Client",250,200,@DesktopWidth / 2 - 100,@DesktopHeight / 2 - 100)
$win_list = GUICtrlCreateList("",10,10,150,180)
$win_select = GUICtrlCreateButton("Select Client",170,30,70,20)
$win_jump = GUICtrlCreateButton("Jump To",170,70,70,20)
$win_refr = GUICtrlCreateButton("Refresh",170,110,70,20)
$win_back = GUICtrlCreateButton("Back",170,150,70,20)
GUISetOnEvent(-3,"_SelWinBack",$win_gui)
GUICtrlSetOnEvent($win_back,"_SelWinBack")
GUICtrlSetOnEvent($win_refr,"_SelWinRefresh")
GUICtrlSetOnEvent($win_jump,"_SelWinJump")
GUICtrlSetOnEvent($win_select,"_SelWinSelect")
_SelWinRefresh()GUISetState(@SW_SHOW,$win_gui)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _SelWinRefresh()
[/autoit] [autoit][/autoit] [autoit]
Dim $win_arlist[1][2]
GUICtrlSetData($win_list,"")
$prolist = ProcessList("Neuz.exe")
$winlist = WinList()For $i = 1 To $winlist[0][0]
[/autoit] [autoit][/autoit] [autoit]
If WinGetProcess($winlist[$i][0]) = 0 Then
Local $int = UBound($win_arlist)
$win_arlist[$int - 1][0] = $winlist[$i][0]
$win_arlist[$int - 1][1] = $winlist[$i][1]
ReDim $win_arlist[$int + 1][2]
GUICtrlSetData($win_list,$winlist[$i][0] & " -- " & $winlist[$i][1])
EndIf
For $a = 1 To $prolist[0][0]
If WinGetProcess($winlist[$i][0]) = $prolist[$a][1] Then
Local $int = UBound($win_arlist)
$win_arlist[$int - 1][0] = $winlist[$i][0]
$win_arlist[$int - 1][1] = $winlist[$i][1]
ReDim $win_arlist[$int + 1][2]
GUICtrlSetData($win_list,$winlist[$i][0] & " -- " & $winlist[$i][1])
EndIf
NextNext
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _SelWinBack()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_ENABLE,$main)
GUISetState(@SW_RESTORE,$main)
GUIDelete($win_gui)
EndFuncFunc _SelWinJump()
[/autoit] [autoit][/autoit] [autoit]
Local $winselect = GUICtrlRead($win_list)
For $i = 0 To UBound($win_arlist) - 1
If $winselect = ($win_arlist[$i][0] & " -- " & $win_arlist[$i][1]) Then
If WinExists($win_arlist[$i][1]) Then
WinActivate($win_arlist[$i][1])
Else
_MsgBox(0,$title,"The selected client doesn't exist!" & @CRLF & "You should refresh the list.",$win_gui)
EndIf
EndIf
Next
EndFuncFunc _SelWinSelect()
[/autoit] [autoit][/autoit] [autoit]
If $sel_pntr >= 30 Then
$sel_pntr = $sel_pntr - 30
$win_opt = 3
ElseIf $sel_pntr >= 20 Then
$sel_pntr = $sel_pntr - 20
$win_opt = 2
ElseIf $sel_pntr >= 10 Then
$sel_pntr = $sel_pntr - 10
$win_opt = 1
Else
$win_opt = 0EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Local $winselect = GUICtrlRead($win_list)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
For $i = 0 To UBound($win_arlist) - 1
If $winselect = ($win_arlist[$i][0] & " -- " & $win_arlist[$i][1]) Then
If WinExists($win_arlist[$i][1]) Then
$win_client[$win_opt][$sel_pntr][0] = $win_arlist[$i][0]
$win_client[$win_opt][$sel_pntr][1] = $win_arlist[$i][1]
If $win_opt = 0 Then
GUICtrlSetData($feed_wintitle[$sel_pntr], $win_arlist[$i][0] & @CRLF & $win_arlist[$i][1])
ElseIf $win_opt = 1 Then
GUICtrlSetData($spam_wintitle[$sel_pntr], $win_arlist[$i][0] & @CRLF & $win_arlist[$i][1])
ElseIf $win_opt = 2 Then
GUICtrlSetData($buff_wintitle[$sel_pntr], $win_arlist[$i][0] & @CRLF & $win_arlist[$i][1])
ElseIf $win_opt = 3 Then
GUICtrlSetData($coll_wintitle[$sel_pntr], $win_arlist[$i][0] & @CRLF & $win_arlist[$i][1])
EndIf
GUISetState(@SW_ENABLE,$main)
GUISetState(@SW_RESTORE,$main)
GUIDelete($win_gui)
Else
_MsgBox(0,$title,"The selected client doesn't exist!" & @CRLF & "You should refresh the list.",$win_gui)
EndIf
EndIf
Next
EndFuncFunc _MsgBox($flag,$title,$text,$gui)
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_DISABLE,$gui)
$msg = MsgBox($flag,$title,$text)
GUISetState(@SW_ENABLE,$gui)
GUISetState(@SW_RESTORE,$gui)
Return $msg
EndFuncFunc _InputBox($title,$prompt,$default,$gui,$pass = "",$width = 0,$height = 0)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_DISABLE,$gui)
$inpt = InputBox($title,$prompt,$default,$pass,$width,$height)
GUISetState(@SW_ENABLE,$gui)
GUISetState(@SW_RESTORE,$gui)
Return $inpt
EndFuncFunc _Exit()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_IniSave()
Exit
EndFuncFunc _GUICtrlListBox_GetCurSel($hWnd)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
If IsHWnd($hWnd) Then
Return _SendMessage($hWnd, 0x0188)
Else
Return GUICtrlSendMsg($hWnd, 0x0188, 0, 0)
EndIf
EndFunc ;==>_GUICtrlListBox_GetCurSelFunc _GUICtrlListBox_SetCurSel($hWnd, $iIndex)
[/autoit] [autoit][/autoit] [autoit]
If IsHWnd($hWnd) Then
Return _SendMessage($hWnd, 0x0186, $iIndex)
Else
Return GUICtrlSendMsg($hWnd, 0x0186, $iIndex, 0)
EndIf
EndFunc ;==>_GUICtrlListBox_SetCurSelFunc _SendMessage($hWnd, $iMsg, $wParam = 0, $lParam = 0, $iReturn = 0, $wParamType = "wparam", $lParamType = "lparam", $sReturnType = "lparam")
[/autoit] [autoit][/autoit] [autoit]
Local $aResult = DllCall("user32.dll", $sReturnType, "SendMessage", "hwnd", $hWnd, "int", $iMsg, $wParamType, $wParam, $lParamType, $lParam)
If @error Then Return SetError(@error, @extended, "")
If $iReturn >= 0 And $iReturn <= 4 Then Return $aResult[$iReturn]
Return $aResult
EndFuncFunc _TicksToTime($iTicks, ByRef $iHours, ByRef $iMins, ByRef $iSecs)
[/autoit] [autoit][/autoit] [autoit]
If Number($iTicks) > 0 Then
$iTicks = Round($iTicks / 1000)
$iHours = Int($iTicks / 3600)
$iTicks = Mod($iTicks, 3600)
$iMins = Int($iTicks / 60)
$iSecs = Round(Mod($iTicks, 60))
; If $iHours = 0 then $iHours = 24
Return 1
ElseIf Number($iTicks) = 0 Then
$iHours = 0
$iTicks = 0
$iMins = 0
$iSecs = 0
Return 1
Else
SetError(1)
Return 0
EndIf
EndFuncFunc _ArrayDelete(ByRef $avArray, $iElement)
[/autoit] [autoit][/autoit] [autoit]
If Not IsArray($avArray) Then Return SetError(1, 0, 0)Local $iUBound = UBound($avArray, 1) - 1
[/autoit] [autoit][/autoit] [autoit]If Not $iUBound Then
[/autoit] [autoit][/autoit] [autoit]
$avArray = ""
Return 0
EndIf; Bounds checking
[/autoit] [autoit][/autoit] [autoit]
If $iElement < 0 Then $iElement = 0
If $iElement > $iUBound Then $iElement = $iUBound; Move items after $iElement up by 1
[/autoit] [autoit][/autoit] [autoit]
Switch UBound($avArray, 0)
Case 1
For $i = $iElement To $iUBound - 1
$avArray[$i] = $avArray[$i + 1]
Next
ReDim $avArray[$iUBound]
Case 2
Local $iSubMax = UBound($avArray, 2) - 1
For $i = $iElement To $iUBound - 1
For $j = 0 To $iSubMax
$avArray[$i][$j] = $avArray[$i + 1][$j]
Next
Next
ReDim $avArray[$iUBound][$iSubMax + 1]
Case Else
Return SetError(3, 0, 0)
EndSwitchReturn $iUBound
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>_ArrayDeleteFunc _GUICtrlListBox_FindString($hWnd, $sText, $fExact = False)
[/autoit] [autoit][/autoit] [autoit]
If IsHWnd($hWnd) Then
If ($fExact) Then
Return _SendMessage($hWnd, 0x01A2, -1, $sText, 0, "wparam", "str")
Else
Return _SendMessage($hWnd, 0x018F, -1, $sText, 0, "wparam", "str")
EndIf
Else
If ($fExact) Then
Return GUICtrlSendMsg($hWnd, 0x01A2, -1, $sText)
Else
Return GUICtrlSendMsg($hWnd, 0x018F, -1, $sText)
EndIf
EndIf
EndFunc ;==>_GUICtrlListBox_FindStringFunc _GUICtrlListBox_DeleteString($hWnd, $iIndex)
[/autoit] [autoit][/autoit] [autoit][/autoit]
If IsHWnd($hWnd) Then
Return _SendMessage($hWnd, 0x0182, $iIndex)
Else
Return GUICtrlSendMsg($hWnd, 0x0182, $iIndex, 0)
EndIf
EndFunc
wenn ihr mir dabei auch noch helfen könnten
-
ich will nich aufdringlich sein oder so aber ich bekomms irgentwie nich alleine hin
is denn keiner da der mal kurz drüberschauen kann?
-
Hi,
[autoit]
ich hab mir deine includes nochmal angeguckt, also:
Du hast Variablen in Funktionen benutzt die NICHT deklariert waren,
jetzt ergeben sich 2 Möglichkeiten:
1. Du lässt die Funktion mit Parametern laufen;Beispielfunktion mit Paramtern
[/autoit]
Func Beispielfunktion($Variable1,$Variable2=1)
; Die $Variable1 MUSS initialisiert werden,
; $Variable2 KANN initialisiert werden , wenn nicht wird ihr der Wert 1 zugewiesen
MsgBox(0,"Variablen:",$Variable1&" : "&$Variable2)
Endfunc
;Der Aufruf der Funktionen geht wie folgt:
Beispielfunktion(12345)
Beispielfunktion(12345,54321)
2.Möglichkeit (würde ich meistens von abraten) ist, dass du die "fehlenden" variablen
als GLOBAL deklarierst und durch die Funktionen dadrauf zugreifstDein nächster Fehler (in der window.au3) war der fehlende "#include" befehl für die UDFs.
(Du kannst die Funktionen natürlich auch per Hand einfügen
)Ich hoffe ich habe nichts übersehen
und konnte alles "relativ" klar rüberbringen 
-
joa verstanden hab ich alles nur entweder bin ich dumm, blind oder beides das ich keine nicht deklarirten variablen finde
hab das jetzt schon mehrmals durchgeguckt und find einfach keine
-
sag ma du hast geguckt fenster öffnet sich aber die einzelnen knöpfchen funtzten nich und das du auch nich weißt wieso :o
Oder wie meinste das ? :o
Ich versuch mal hilfe zu holn

-
ich weiss jetzt immernoch nicht genau warum mich knuddle hier her gebeten hat, aber ich würde sagen um fehler zu finden hat ScITE sowie viele andere editoren ne suchfunktion

-
ja das prob is bei scite werden keine errors mehr angegeben aber keine funktionen funktionieren

-
Push =(
-
Also das Problem liegt weiterhin in der fehlenden Variablen Deklarierung...
Du hast Variablen benutzt, die jedoch noch nicht "bekannt gemacht" wurden.
Du willst die verschiedenen Dateien sicherlich einbinden (oder hast es bereits gemacht).
Wenn du es bereits gemacht hast, kommt WARSCHEINLICH keine Fehlermeldung, da du bereits die
Variablen deklariert hast BEVOR du die Funktionen aufrufst.
Falls du sie einfach "nur so" geschrieben hast, dann klappt es ohne weiteres nicht.
Hier mal die Fehlermeldung aus der ersten Datei (writeini.au3):Spoiler anzeigen
C:\Users\USERNAME\Desktop\ftest.au3(5,39) : WARNING: $coll_key: possibly used before declaration.
$read_inpt = GUICtrlRead($coll_key[$i])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\USERNAME\Desktop\ftest.au3(32,49) : WARNING: $cmb_key: possibly used before declaration.
GUICtrlSetData($coll_key[$i],"F-Key|" & $cmb_key,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\USERNAME\Desktop\ftest.au3(5,39) : ERROR: $coll_key: undeclared global variable.
$read_inpt = GUICtrlRead($coll_key[$i])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\USERNAME\Desktop\ftest.au3 - 1 error(s), 2 warning(s)
2 Möglichkeiten gibt es nun:
1. Du schreibst ganz oben in die iniwrite.au3
"Global $coll_key=HIER DEN STANDARD WERT EINGEBEN, $cmb_key = HIER AUCH"
oder
2. Du schreibst die Fehlenden Variablen (in dem Fall: $coll_key,$cmb_key) in den "Funktionskopf"
(d.h. in die Klammer der Funktion)
und kannst per Aufruf den Wert bestimmen
(Beispiel: siehe meinen letzten Post)