Jump to content

Recommended Posts

Posted

I need to set select string of combobox control, which is a form created by .NET fromwork 2.0,

I get the control information from AutoIt v3 window info

Class is "WindowsForms10.COMBOBOX.app.0.3ce0bb8"

Instance is 3

So my autoit script is

ControlCommand("My Form", "", "[CLASS:WindowsForms10.COMBOBOX.app.0.3ce0bb8; INSTANCE:3]", "SelectString", "Customer")

but it did not work

does anyone know why? Thanks.

Posted

...does anyone know why? Thanks.

Welcome to the forum.

Not to insult you, but have you set Opt/WinTitleMatchMode to mode 4?

Also, remember what the help files says about controls:

Note: AutoIt only works with standard Microsoft controls - some applications write their own custom controls which may look like a standard MS control but may resist automation. Experiment!

Sadly, just because .NET is an MS product, it may not respond as desired to all of AutoIt's ControlCommand functions.

You might also try a ControlFocus line before your ControlCommand line. Check the return from the ControlFocus line.

-MSP-

[size="1"][font="Arial"].[u].[/u][/font][/size]

Posted

I'm sure that even set WinTitleMatchMode to 4 still does not work,

The ControlFocus works OK, but I still get no way to select the combo box,

Since the .NET has become popular within last five years, and seems will become more popular in future,

should AutoIt have a good support for this kind of application?

Welcome to the forum.

Not to insult you, but have you set Opt/WinTitleMatchMode to mode 4?

Also, remember what the help files says about controls:

Note: AutoIt only works with standard Microsoft controls - some applications write their own custom controls which may look like a standard MS control but may resist automation. Experiment!

Sadly, just because .NET is an MS product, it may not respond as desired to all of AutoIt's ControlCommand functions.

You might also try a ControlFocus line before your ControlCommand line. Check the return from the ControlFocus line.

-MSP-

Posted

Hello Larry,

Have you tried to select a combobox string with autoit?

the combobox is a .NET control, System.Windows.Forms.ComboBox, and have some items "red/green/blue"

i want to choose the "green" item, so my autoit script is like this:

ControlCommand("My Form", "", "[CLASS:WindowsForms10.COMBOBOX.app.0.3ce0bb8; INSTANCE:3]", "SelectString", "green")

but it did not work, do you know how to achieve this?

Thanks

I have used AutoIt with .NET applications without trouble. Without the app, or more script example, or AutoIt Window Info screenshots, we are making uneducated guesses.

Lar.

Posted

There seems to be a filter on built in "ControlCommand" so that only "ComboBox" class controls can be affected...

use this for you...

ComboSelect("My Form","","WindowsForms10.COMBOBOX.app.0.378734a1","green")
Func ComboSelect($title,$text,$ctrl,$item)
    Local Const $CB_SELECTSTRING = 0x014D
    Local $hwnd = ControlGetHandle($title,$text,$ctrl)
    Local $ret = DLLCall("user32.dll","int","SendMessage", _
            "hwnd",$hwnd, _
            "int",$CB_SELECTSTRING, _
            "int",-1, _
            "str",$item)
    Return ($ret[0] > -1)
EndFunc

Thank you! The script works great! :)

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
  • Recently Browsing   0 members

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