I'm trying to get the values of a listView of the software called MetaTrader Terminal 4 ( for details, ref. metatrader4 ).
I was able to retrieve the number of lines, but that's all, not the actual item texts ( and I've tried that many many ways ).
How is it that it is so hard to retrieve values from an external program?
Are there other ways to do so?
$Win2 = WinGetHandle( "2000100748" , "EURAUD") ;get window handle
ConsoleWrite("$Win2="&$Win2&@lf)
$Ctl2 = ControlGetHandle ($Win2,"",'[CLASS:SysListView32; INSTANCE:4]') ;get treeview inside $Win2 handle
ConsoleWrite("$Ctl2="&$Ctl2&@lf)
$aa = ControlListView($Win2, "", "[CLASS:SysListView32; INSTANCE:4]", "Selectall")
MsgBox($MB_SYSTEMMODAL,"", $aa)
$a = _GUICtrlListView_GetItemCount($Ctl2)
MsgBox($MB_SYSTEMMODAL,"", $a)
$b = _GUICtrlListView_FindText ($Ctl2,"Volume")
MsgBox($MB_SYSTEMMODAL,"", $b)
EDIT: when using _GUICtrlListView_GetItemTextString($Ctl2, $i)
I get "|||||||" as a result
thanks
Jeff

May use
MQL4tools available to help better automate the task:The MetaTrader Terminal 4 has a built-in programming language (
MQL4). That provides all possible automation tools one may need, incl. the Account profit, balance and all other details.Based on one's need, the
double AccountBalance()can getprinted
Print( "Account balance = ", AccountBalance() );displayed
Comment( "Account balance = ", AccountBalance() );in graph-areastored
FileWrite( aFileHANDLE, "Account balance = ", AccountBalance() );sent
SendMail( "Account balance = " + (string) AccountBalance() ) );by emailwhichever representation of the account balance detail is easier for one's automation needs, be it using an AutoIt or other tools.