Jump to content

Controlling an unknown control


drum
 Share

Recommended Posts

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

Posted Image

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

Can anybody suggest a way for accessing the control. Inparticular I am interested in retrieving the current selection and the rowcount?

Link to comment
Share on other sites

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
Link to comment
Share on other sites

That's not good new :ermm:

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)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 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.
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 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.
Link to comment
Share on other sites

try with inspect.exe within the SDK tools of microsoft http://msdn.microsoft.com/en-US/windows/bb735024.aspx

If 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)

Link to comment
Share on other sites

try with inspect.exe within the SDK tools of microsoft http://msdn.microsoft.com/en-US/windows/bb735024.aspx

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

Link to comment
Share on other sites

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
 Share

  • Recently Browsing   0 members

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