drum Posted January 7, 2013 Posted January 7, 2013 I have been working through developing a script to pull some old "outdated" data from an EXE and store it as PDF files for future reference. I have the basic concept of the script sorted, and I can access 90% of the info I need. However there is one control that doesn't seem to respond to anything other than mouse\keyboard input. I have an image of the control :-I suspect it is a custom control for the application, the controlview app refers to it as "Table3" I have tried various ControlCommands to access it, but anything beyond IsVisible and IsEnabled etc. failsCan anybody suggest a way for accessing the control. Inparticular I am interested in retrieving the current selection and the rowcount?
JohnOne Posted January 7, 2013 Posted January 7, 2013 What is the exe? and what is the exact output of windows info tool? AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
drum Posted January 7, 2013 Author Posted January 7, 2013 What is the exe? and what is the exact output of windows info tool? The Exe is an old set of manuals called TIS >>>> Window <<<< Title: TIS Class: Afx:400000:3:0:5100e6a:2037f Position: -3, -3 Size: 1030, 774 Style: 0x95480000 ExStyle: 0x00000300 Handle: 0x00040328 >>>> Control <<<< Class: EtkTable Instance: 3 ClassnameNN: EtkTable3 Name: Advanced (Class): [CLASS:EtkTable; INSTANCE:3] ID: 1093 Text: Position: 10, 178 Size: 793, 488 ControlClick Coords: 508, 330 Style: 0x50210000 ExStyle: 0x00000004 Handle: 0x00010436
JohnOne Posted January 7, 2013 Posted January 7, 2013 Have you tried ControlGetText("TIS","","[CLASS:EtkTable; INSTANCE:3]") AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
drum Posted January 7, 2013 Author Posted January 7, 2013 Have you tried ControlGetText("TIS","","[CLASS:EtkTable; INSTANCE:3]") It returns a blank string.
JohnOne Posted January 7, 2013 Posted January 7, 2013 Search "Afx:400000" in forums, this seems to be a control you just cannot interact with AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
drum Posted January 7, 2013 Author Posted January 7, 2013 That's not good new Is it possible that the actual control is held with a dialog box, could that be causing the problem?? (It doesn't look like it is, but looking at the EXE in ResourceHacker suggests it might be)
JohnOne Posted January 7, 2013 Posted January 7, 2013 Do you get any visible or hidden text shown in winfotool? AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
drum Posted January 7, 2013 Author Posted January 7, 2013 Yes Loads, which is why I trimmed it, but it all relates to the main window, and not this control.
JohnOne Posted January 7, 2013 Posted January 7, 2013 My guess is that you're fkd then, sometimes you can get results from the standard UDF _GUI* functions that you cannot from natives, but I think that is only with known controls. You say you used "controlview app", are you referring to Valuaters? AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
JohnOne Posted January 7, 2013 Posted January 7, 2013 oops, Yashied's. Sorry Yash. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
JohnOne Posted January 7, 2013 Posted January 7, 2013 Did you try spy++ detection locic and visaversa? AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
jdelaney Posted January 7, 2013 Posted January 7, 2013 (edited) Can you select a row, and copy (Ctrl+C) and paste as tab deliminated? If so, you can loop through down arrow, ctrl+c, parse ClipGet() by tabs, find data or move on. Sometimes grids allow a ctrl+a as well, so you can parse by crlf and tab, to get the full grid data. Edited January 7, 2013 by jdelaney IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window.
drum Posted January 7, 2013 Author Posted January 7, 2013 I had a look with Spy++ at the messages, and got the usual KEYUP KEYDOWN and MOUSEMOVE etc. but nothing really helpful. I'm at a loss at the momeny.
drum Posted January 7, 2013 Author Posted January 7, 2013 Can you select a row, and copy (Ctrl+C) and paste as tab deliminated?If so, you can loop through down arrow, ctrl+c, parse ClipGet() by tabs, find data or move on.Sometimes grids allow a ctrl+a as well, so you can parse by crlf and tab, to get the full grid data.No Ctrl+C doesn't work the only keys I've found that do anything are UP, DOWN, HOME and END, Then SPACE Toggles the selection, you can't even use Shift to select as you move up and down.
jdelaney Posted January 7, 2013 Posted January 7, 2013 (edited) Sounds like you get to look into the wonderful world of OCR. Unless you have access to the DB, or can petition dev team to expand it's control's visibility. Edited January 7, 2013 by jdelaney IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window.
junkew Posted January 7, 2013 Posted January 7, 2013 try with inspect.exe within the SDK tools of microsoft http://msdn.microsoft.com/en-US/windows/bb735024.aspxIf this tool gives you something usefull you then based on those 2 threads you could come somewhere using AutoIt and UI Automation (sorry libraries not finished) FAQ 31 How to click some elements, FAQ 40 Test automation with AutoIt, Multithreading CLR .NET Powershell CMDLets
drum Posted January 7, 2013 Author Posted January 7, 2013 try with inspect.exe within the SDK tools of microsoft http://msdn.microsoft.com/en-US/windows/bb735024.aspxIf this tool gives you something usefull you then based on those 2 threads you could come somewhere using AutoIt and UI Automation (sorry libraries not finished)Unless I'm missing something I didn't find anything extra.I've been doing some lateral thinking and if I can come up with a way of selecting all the items at once I may be able to work round it. However That's not as easy as it sounds as if you loop through pressing {DOWN} and {SPACE} to select stuff you've no idea when you've reached the end.
JohnOne Posted January 7, 2013 Posted January 7, 2013 You never mentioned whether ctrl+a works. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
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