Jump to content

WinGetClassList is Truncating the class names


Recommended Posts

Below is the results from calling:

TextBox2.Text = mobjWinManager.AutoItx.WinGetClassList("Form1", "")

WindowsForms10.EDIT.app4

WindowsForms10.BUTTON.app4

WindowsForms10.EDIT.app4

WindowsForms10.BUTTON.app4

WindowsForms10.SysListView32.app4

However, the correct name of these classes according to to the AutoIt v3 Active Window Info tool is:

WindowsForms10.EDIT.app42

WindowsForms10.BUTTON.app42

WindowsForms10.EDIT.app41

WindowsForms10.BUTTON.app41

WindowsForms10.SysListView32.app41

Does the last number in app42 and app41 indicate a numbering system perhaps? That the class name is actually WindowsForms10.EDIT.app4 and the 1 or 2 at the end simply indicates which one?

I have a controls class that populates himself with every control from a given window.

If WinGetClassList will not indicate the exact class name that I will be using to interact with that control, how am I supposed to accomplish this?

Thanks in advance

Jason

Link to comment
Share on other sites

  • Moderators

It just returns the type of control created.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

  • Moderators

I suppose I could do this:

For Each Class that WinGetClassList returns, iterate thru looking for classname + '1', + '2', etc..

That's what I've done in the past.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

  • 1 year later...

Hi,

I have the same problem with my classes. I want WinGetClassList() to get all control classes of my VirtualDub window. VirtualDub or Vdub is a video editor. I want to do the following:

-get all control classes (Control IDs) by WinGetClassList or similar function. I am using WinGetClassList here at this time, which is not working. It cuts the class numbers from the classes, so the list contains only class names. But I need the numbers as well.

-store the control IDs of all Vdub-controls to be showed into an array.

-loop through the control list and hide all controls except the ones I want to show.

Any ideas?

Zoli

Link to comment
Share on other sites

Can you count? Because as has already been mentioned, that's all you need to do. The NN part of classnames is our own contrivance. The classes really don't have those numbers appended to them. So if you need the numbers, synthesize them yourself.

By the way, it's quite rude to revive a year and a half old thread just to say you're having the same "problem" which is not a problem at all. There's even a solution provided. So you've brought up this thread which has wasted your time and my time just so you can get told to do what people said a year and a half ago.

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...