Jump to content

Recommended Posts

Posted

take a look at following code:

Func Example_01()

    # I copy properties of win form and control by AutoIt window info tool
    Local $win_ppt = "[TITLE:Form_ListBox;CLASS:WindowsForms10.Window.8.app.0.141b42a_r9_ad1;INSTANCE:1]"
    Local $ctl_ppt = "[CLASS:WindowsForms10.LISTBOX.app.0.141b42a_r9_ad1;NAME:ListBox1;INSTANCE:1]"

    WinActivate($win_ppt, "")

    Local $ret = ControlCommand($win_ppt, "", $ctl_ppt, "AddString", 'line ii')

    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Error")
    EndIf

EndFunc   #==>Example_01

The result of running the code is: get error and no new line is added to ListBox

Anyone can help, thanks.

  • Replies 59
  • Created
  • Last Reply

Top Posters In This Topic

Posted (edited)
4 hours ago, dd1978 said:

Local $win_ppt = "[TITLE:Form_ListBox;CLASS:WindowsForms10.Window.8.app.0.141b42a_r9_ad1;INSTANCE:1]"

that doesn't seem right

in info Tools in the Windows tab it does not have Advanced mode as have the control tab

[TITLE:My Window; CLASS:My Class; INSTANCE:2]

... and the  # I copy properties of win form and control by AutoIt window info tool

 is better  with  ; I copy properties of win form and control by AutoIt window info tool

 

Edited by ioa747

I know that I know nothing

Posted

I have tested following code:

Func Example_01()

    Local $win_ppt = "[TITLE:Form_ListBox;CLASS:WindowsForms10.Window.8.app.0.141b42a_r9_ad1;INSTANCE:1]"
    Local $hWnd = WinGetHandle($win_ppt)

    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "An error occurred when trying to retrieve the window handle.")
        Exit
    EndIf

    MsgBox($MB_SYSTEMMODAL, "", $hWnd)

EndFunc   ;==>Example_01

The MsgBox prints the value: 0x000306A2

and without error

I feel that this is a handle, right?

Posted

I have tested the code for control:

Func Example_02()

    Local $win_ppt = "[TITLE:Form_ListBox;CLASS:WindowsForms10.Window.8.app.0.141b42a_r9_ad1;INSTANCE:1]"
    Local $ctl_ppt = "[CLASS:WindowsForms10.LISTBOX.app.0.141b42a_r9_ad1;NAME:ListBox1;INSTANCE:1]"

    Local $hControl = ControlGetHandle($win_ppt, "", $ctl_ppt)

    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "An error occurred when trying to retrieve the control handle.")
        Exit
    EndIf

    MsgBox($MB_SYSTEMMODAL, "", "The handle is: " & $hControl)

EndFunc   ;==>Example_02

has run without error

MsgBox prints the value of $hControl like a handle: 0x000E0610

any suggestions, thanks

Posted

The UI to be tested against is a .net winform. I compile the UI application under VS2019 VB.Net

I have tested button click, button enable and disable, combo box show dropdown and hide dropdown. These tasks all work properly.

Now I stoped at using AddString command of ControlCommand function to add new line into ListBox.

Is there any configuration required for ListBox to get new line from my AutoIt script?

Posted

not that I know

try to get some value from control

Local $Test = ControlCommand($win_ppt, "",  $ctl_ppt , "GetCount", "")

ConsoleWrite("$Test=" & $Test & @CRLF)

I know that I know nothing

Posted

try this format

 Local $Test = ControlCommand($win_ppt,  "",  "[NAME:ListBox1]" , "GetCount", "")

ConsoleWrite("$Test=" & $Test & @CRLF)

 

I know that I know nothing

Posted

@Nine Thank you for the explanation

@dd1978  I honestly don't know. I just try to help

from help book  see Title special definition

e.g. Set the text of the .NET Winforms "textBoxFolder" control to "C:\Some\Folder"

ControlSetText("My Window", "", "[NAME:textBoxFolder]", "C:\Some\Folder")

   

I know that I know nothing

Posted

@Nine@ioa747I'm back, with problem testing result

I have install the latest stable version of AutoIt, then run the following code:

Func Example_03()

    Local $win_ppt = "[TITLE:Form_ListBox;CLASS:WindowsForms10.Window.8.app.0.141b42a_r9_ad1]"
    Local $ctl_ppt = "[NAME:ListBox1]"
    Local $hWnd = WinActivate($win_ppt, "")
    Local $Test = ControlCommand($hWnd,  "",  $ctl_ppt , "GetCount", "")

    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Error")
        Exit
    EndIf

    MsgBox($MB_SYSTEMMODAL, "", $Test)

EndFunc

The last MsgBox print: -1

no error occurs

My ListBox1 has three items before I run the code.

In this forum, I found somebody advise to use beta version and is it an answer?

Thanks.

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...