Code: Select all
WinGet, ControlList, ControlList, A
Loop , Parse, ControlList, `n
{ /*...*/ }
Code: Select all
WinGet, ControlList, ControlList, A
Loop , Parse, ControlList, `n
{ /*...*/ }
Code: Select all
F1::
List := WinGetControlsHwnd("A")
Str := ""
For Index, ControlID in List
Str .= ControlID . " [" . WinGetClass("ahk_id" . ControlID) . "]`n"
MsgBox Str
Return
Code: Select all
F1::
List := WinGetControls("A")
Str := ""
Loop (ObjLength(List))
Str .= List[A_Index] . "`n"
MsgBox Str
Return
Code: Select all
for Each, ControlID in WinGetControls("A")
…
Yes, you're right.nnnik wrote:with a 1000 entries in the loop its 30 times slower than the normal loop
Code: Select all
ToolTip "Push"
Arr := []
Arr.SetCapacity(10000000)
Loop 10000000
Arr.Push(0)
Var := 0
ToolTip "Loop"
QPC(S := A_TickCount)
Loop (ObjLength(Arr))
Var := Arr[A_Index]
ElapsedTime1 := QPC() . " (" . (A_TickCount-S) . " ms)"
ToolTip "For"
QPC(S := A_TickCount)
For Each, Value in Arr
Var := Value
ElapsedTime2 := QPC() . " (" . (A_TickCount-S) . " ms)"
MsgBox "Loop: " . ElapsedTime1 . "`nFor: " . ElapsedTime2
; ------------------------------------
QPC(R := 0)
{
static Frequency := 0, P := 0
; https://msdn.microsoft.com/en-us/library/windows/desktop/ms644905(v=vs.85).aspx
, PC := DllCall("Kernel32.dll\QueryPerformanceFrequency", "Int64P", Frequency)
; https://msdn.microsoft.com/en-us/library/windows/desktop/ms644904(v=vs.85).aspx
return !DllCall("Kernel32.dll\QueryPerformanceCounter", "Int64P", PC) + (R ? (P := PC) / Frequency : (PC - P) / Frequency)
}
Please don't use this and please don't suggest this
Users browsing this forum: kunkel321 and 47 guests