Sign in to follow this  
Followers 0
rusmo

ControlListView help needed, please!

5 posts in this topic

I'm having trouble finding and selecting an item in the Hardware Update Wizard. Attached is a screenshot of the particular Dialog I'm struggling with and a test au3 file for you nice people to use to help me at home :D

I am trying to find and select one of the items in theis dialog. The Window Info tool says the control is a SysListView321 and its id is 1580. I've plugged those values into the ControlListView function but the item I'm looking for in the list is never found (return code from FindItem is -1). ItemCOunt on this control is 0 and SubItemCount is 1. Go figure.

WinWaitActive("Hardware Update Wizard", "Click the")

$ListItemEntry = ControlListView ("Hardware Update Wizard", "Click the", "SysListView321", "FindItem", "Broadcom 570x Gigabit Integrated Controller")
MsgBox(0, "Debug", @error)
MsgBox (0, "Debug", $ListItemEntry)
ControlListView ("Hardware Update Wizard", "", 1580, "Select" , $ListItemEntry)

Can anyone please help me? I'm stuck pretty good and need the help of you experts and admins out there.

Thanks!

test.au3

Share this post


Link to post
Share on other sites



Oh, I forgot to mention that I think the problem *may* have to do with the little icon to the left of the item text that indicates the device driver is digitally signed. If it's in the ListView control then I can understand why the stock functions can't find the text of the item I'm looking for. That really wouldn't explain why my ItemCount is returning zero, though, would it???

Just a guess....any thoughts? Solutions? :D

Share this post


Link to post
Share on other sites

Oh, I forgot to mention that I think the problem *may* have to do with the little icon to the left of the item text that indicates the device driver is digitally signed. If it's in the ListView control then I can understand why the stock functions can't find the text of the item I'm looking for. That really wouldn't explain why my ItemCount is returning zero, though, would it???

Just a guess....any thoughts? Solutions? :D

Welcome to the forums!

This works for me (different hardware):

$BCID=ControlListView("Hardware Update Wizard", "Click the Network Adapter", "SysListView322", "FindItem", "Broadcom NetXtreme Gigabit Ethernet for hp")
ControlListView("Hardware Update Wizard", "Click the Network Adapter", "SysListView322", "Select", $BCID)
If you use WinGetClassList(), you'll see that there are multiple SysListView32 controls. You can access them as SysListView321, SysListView322, ... SysListView32x.

Also, the "FindItem" action doesn't work on Win64. You never mentioned your OS, and the GUI looks skinned, so I thought I would mention it.


[font="Tahoma"]"Tougher than the toughies and smarter than the smarties"[/font]

Share this post


Link to post
Share on other sites

Also, the "FindItem" action doesn't work on Win64. You never mentioned your OS, and the GUI looks skinned, so I thought I would mention it.

Thanks for the sample code, Skruge! It worked like a charm.

Is there a way to use a different set of functions to achieve the same results for 64bit procs and OSs? I'm positive we're going to have to support those as well.

Thanks!

Share this post


Link to post
Share on other sites

Welcome to the forums!

This works for me (different hardware):

$BCID=ControlListView("Hardware Update Wizard", "Click the Network Adapter", "SysListView322", "FindItem", "Broadcom NetXtreme Gigabit Ethernet for hp")
ControlListView("Hardware Update Wizard", "Click the Network Adapter", "SysListView322", "Select", $BCID)
If you use WinGetClassList(), you'll see that there are multiple SysListView32 controls. You can access them as SysListView321, SysListView322, ... SysListView32x.

Also, the "FindItem" action doesn't work on Win64. You never mentioned your OS, and the GUI looks skinned, so I thought I would mention it.

Hi skruge

can you help me i can not get this to work

Run("C:\WINDOWS\system32\control.exe ncpa.cpl")
WinWaitActive("Network Connections", "Click the")

$BCID=ControlListView("Network Connections", "Click the Wireless Network Connection", "SysListView322", "FindItem", "Wireless Network Connection")
ControlListView("Network Connections", "Click the Wireless Network Connection", "SysListView322", "Select", $BCID)

thanks beau

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