Sign in to follow this  
Followers 0
Spartan

WinList isn't returning an array?

8 posts in this topic

I am having an issue with WinList() not returning an array (empty or otherwise) under certain circumstances.

Here is my code:

Opt("WinTitleMatchMode", -2) ; Match (case-insensitive) as long as the string is found anywhere in the title
$a = WinList("[#]")

If Not IsArray($a) Then MsgBox(64, "Error", "$a is not an array!")

When I run the above code, I get a return value in $a that is NOT an array. It is of the number type, with a value of zero. I was assuming this should work as expected, and return all windows with "[#]" in the title.

Share this post


Link to post
Share on other sites



If you run this without the brackets around the # symbol, it works fine. I'm guessing the brackets are doing something to the title search that is affecting how WinList is working.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

See Window Titles and Text (Advanced) in the help file. AutoIt is seeing your title syntax as an incorrect advance specification (i.e. "[CLASS:32770; TITLE:Explorer]"). If you must use the literal square brackets choose the REGEXPTITLE method because it can use escaped characters:

$a = WinList("[REGEXPTITLE:\[\#\]]", "")

;)

Edit: Stupid typo. :)

Edited by PsaltyDS

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law

Share this post


Link to post
Share on other sites

@PsaltyDS:

Thanks, I had guessed something like that might be the issue. It threw me off because this behavior was not documented (I was expecting an empty array, not a zero value).

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

See Window Titles and Text (Advanced) in the help file. AutoIt is seeing your title syntax as an incorrect advance specification (i.e. "[CLASS:32770; TITLE:Explorer]"). If you must use the literal square brackets choose the REGEXPTITLE method because it can use escaped characters:

$a = WinList("[REGEXPTTILE:\[\#\]]", "")

Perhaps I should have actually run that code before assuming my problem was fixed. It doesn't work.

I ran the following:

$a = WinList("[REGEXPTTILE:\[\#\]]", "")

and am still getting a return value of numeric zero. ;)

Edited by Spartan

Share this post


Link to post
Share on other sites

Perhaps I should have actually run that code before assuming my problem was fixed. It doesn't work.

I ran the following:

$a = WinList("[REGEXPTTILE:\[\#\]]", "")

and am still getting a return value of numeric zero. Posted Image

I guess you missed the typo: REGEXP T I T L E , not REGEXP T T I L E

so try this:

$a = WinList("[REGEXPTITLE:\[\#\]]", "")

HTH,

whim

Share this post


Link to post
Share on other sites

I guess you missed the typo: REGEXP T I T L E , not REGEXP T T I L E

so try this:

$a = WinList("[REGEXPTITLE:\[\#\]]", "")

HTH,

whim

Grrrrr, I can't believe I missed that. Thanks!! ;)

Share this post


Link to post
Share on other sites

I guess you missed the typo: REGEXP T I T L E , not REGEXP T T I L E

"Sorry about that, Ninety-Nine."

-- Maxwell Smart --

;)


Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law

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