ptrex Posted April 13, 2006 Share Posted April 13, 2006 I am strugling reading data from a control using GUICtrlREad() function. When I use ControlReadText I get the text of the control, but when I try to use GUICtrilRead I don' t ?? If I read the help file both funtions should be able the read the data (text) from a control. Here is the code to test with on the windows file explorer. PS The code is in OnEventMode 1. expandcollapse popup#include <ANYGUI.au3> #include <guiconstants.au3> Opt("WinTitleMatchMode", 4); Allow ClassName lookup to avoid window confusion Opt("GUIOnEventMode", 1); Change to OnEvent mode Global $handleList = "" Dim $Test While 1 $appWindow = WinGetHandle("classname=ExploreWClass") If @error Then $handleList = ""; No Explorer windows found, so clear the list sleep(250) ContinueLoop EndIf ;If $appWindow is not in our list, add it If Not StringInStr($handleList, "|" & $appWindow) Then $handleList = $handleList & "|" & $appWindow Addbutton($appWindow) Else ;;MsgBox(4096,"debug","present") EndIf $test=GUICtrlRead(41477,1) sleep(250) WEnd Func Clicked() ;$test=ControlGetText("","",41477) ; GUICtrlRead(41477,1) MsgBox(0,"TEST","OK "&$test) EndFunc Func AddButton($winhandle) Local $Targetwindow, $btn $Targetwindow = _GuiTarget($winhandle,"","FolderView",40960) $btn = _TargetaddButton ( "New Button", 740, 3, 80, 30,"","",$Targetwindow) GUICtrlSetOnEvent($btn[0], "Clicked") GUISetState(@SW_SHOW) EndFunc I have put "$test=GUICtrlRead(41477,1)" this on different positions in the code but no result. When you replace this code with the ControlGetText() function it works. But I need to have the GUICtrlRead() for non text data to retrieve. Anyone a hint ? Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL Distribution - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COM - New Link to comment Share on other sites More sharing options...
GaryFrost Posted April 13, 2006 Share Posted April 13, 2006 I am strugling reading data from a control using GUICtrlREad() function. When I use ControlReadText I get the text of the control, but when I try to use GUICtrilRead I don' t ?? If I read the help file both funtions should be able the read the data (text) from a control. Here is the code to test with on the windows file explorer. PS The code is in OnEventMode 1. expandcollapse popup#include <ANYGUI.au3> #include <guiconstants.au3> Opt("WinTitleMatchMode", 4); Allow ClassName lookup to avoid window confusion Opt("GUIOnEventMode", 1); Change to OnEvent mode Global $handleList = "" Dim $Test While 1 $appWindow = WinGetHandle("classname=ExploreWClass") If @error Then $handleList = ""; No Explorer windows found, so clear the list sleep(250) ContinueLoop EndIf ;If $appWindow is not in our list, add it If Not StringInStr($handleList, "|" & $appWindow) Then $handleList = $handleList & "|" & $appWindow Addbutton($appWindow) Else ;;MsgBox(4096,"debug","present") EndIf $test=GUICtrlRead(41477,1) sleep(250) WEnd Func Clicked() ;$test=ControlGetText("","",41477) ; GUICtrlRead(41477,1) MsgBox(0,"TEST","OK "&$test) EndFunc Func AddButton($winhandle) Local $Targetwindow, $btn $Targetwindow = _GuiTarget($winhandle,"","FolderView",40960) $btn = _TargetaddButton ( "New Button", 740, 3, 80, 30,"","",$Targetwindow) GUICtrlSetOnEvent($btn[0], "Clicked") GUISetState(@SW_SHOW) EndFunc I have put "$test=GUICtrlRead(41477,1)" this on different positions in the code but no result. When you replace this code with the ControlGetText() function it works. But I need to have the GUICtrlRead() for non text data to retrieve. Anyone a hint ? GuiCtrlRead is for Autoit created controls not external controls Controlgettext will work on both autoit created controls and standard ms controls. SciTE for AutoItDirections for Submitting Standard UDFs Don't argue with an idiot; people watching may not be able to tell the difference. Link to comment Share on other sites More sharing options...
ptrex Posted April 13, 2006 Author Share Posted April 13, 2006 @gafrost That' s new to me !! Is there any other way of read the non MS controls ? Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL Distribution - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COM - New Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now