Sign in to follow this  
Followers 0
advis0r

_arraysort Doesnt Sort Window Handles

5 posts in this topic

hello anybody can help me with this, i want so sort an array with window handles but it doesnt work, only if i save them as strings (but then i cant use WinActive with this handle anymore!!)

here's the sample code (also in the attachment)

#include <Array.au3>
$var = WinList("A")
Dim $len = $var[0][0]

Dim $HANDLES[1]
Dim $STRING_HANDLES[1]
For $i = 1 To $len      
    _ArrayAdd($HANDLES, $var[$i][1])
    _ArrayAdd($STRING_HANDLES, "" & $var[$i][1])
Next

_ArrayDelete($HANDLES, 0)
_ArrayDelete($STRING_HANDLES, 0)

Dim $msg = ""
$msg = $msg & "Handles: "
$msg = $msg & _ArrayToString($HANDLES, " ")
_ArraySort( $HANDLES )
$msg = $msg & @CRLF
$msg = $msg & "  sorted: "
$msg = $msg & _ArrayToString($HANDLES, " ")
$msg = $msg & @CRLF & @CRLF

$msg = $msg & "StringHandles: "
$msg = $msg & _ArrayToString($STRING_HANDLES, " ")
$msg = $msg & @CRLF
_ArraySort( $STRING_HANDLES )
$msg = $msg & "         sorted: "
$msg = $msg & _ArrayToString($STRING_HANDLES, " ")
$msg = $msg & @CRLF

MsgBox(0, "_ArraySort", $msg)

Share this post


Link to post
Share on other sites



i know that window handles are a special type and thus the > < operators dont seem to work in the _ArraySort method, am i right?

i can make a work around with a 2 dimensional array and sort by the dim that holds the strings, and then use the handle-dimension... or you implement the <> for handles ;P

Share this post


Link to post
Share on other sites

i know that window handles are a special type and thus the > < operators dont seem to work in the _ArraySort method, am i right?

i can make a work around with a 2 dimensional array and sort by the dim that holds the strings, and then use the handle-dimension... or you implement the <> for handles ;P

why do you need to sort an array of window handles? i think your best bet would be to use WinList to generate your two dimensional array, then sort by the title dimension rather than the handle dimension.

1100111 00001011101111 00011101101111 00010111100100 00001111110100 00110111110010 00101101111001 0011100i didn't make up this form of encryption, but i like it.credit to the lvl 6 challenge on arcanum.co.nz

Share this post


Link to post
Share on other sites

why do you need to sort an array of window handles? i think your best bet would be to use WinList to generate your two dimensional array, then sort by the title dimension rather than the handle dimension.

coz i want to switch through the windows in the same order they were opened, i did use a 2dim array already and it works, but they can also just implement the operators >< for window handle type... :)

Share this post


Link to post
Share on other sites

coz i want to switch through the windows in the same order they were opened, i did use a 2dim array already and it works, but they can also just implement the operators >< for window handle type... :)

i'm pretty sure i've seen code by valik that does what you're looking for... do a search of the forum for z-order and you may find what you're looking for

1100111 00001011101111 00011101101111 00010111100100 00001111110100 00110111110010 00101101111001 0011100i didn't make up this form of encryption, but i like it.credit to the lvl 6 challenge on arcanum.co.nz

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0