Jump to content

Reading someone else's GUI radio button


Recommended Posts

Hello, 

I'm wondering if it is possible to read a radio button off a GUI running by another program? 

Someone created these Outlook emails that when open appear to be in a GUI format. I could easily come up with a way of navigating these fields by using tab inputs, and then copying specific fields that I need. However there is a spot on the form that has 4 choices of radio buttons, asking for what the status of the task is, and I have no idea how to store which one of these was pressed. 

End game is to be able to go through thousands of these forms, take input from specific fields from this GUI form in outlook and copy into cells in an excel spreadsheet. I believe I could create a script to do everything I need, if I could just obtain the value from which radio button was pressed.

Any advice on how to obtain which radio button was press in this outlook form would be appreciated.

Thanks,

If I knew VBA better Outlook might have its own functions for figuring this out.

 

Example:

image.png

In this example I'd want to be able to know that the 2nd or Assigned radio button was selected. Only 1 button is able to be selected at a time. I'm assuming the way to do this would be to tab through the form get to the first box and then run some command to check if pressed then if no, keep checking till I find which of the 4 were pressed.

Edited by AnonymousX
Link to comment
Share on other sites

Depends on the type of GUI that is in the outlook email. If they used activex to create the form and controls, I wouldn't know how to do it, but if you can use the AutoIt tool to read the info about the control then they used a a Form Control, and that is very easy to work with.

ControlGetText
ControlSetText
ControlClick
ControlCommand

Are the functions you'd want to use.

Idk how you'd use some VBA code to intereact with these. You'd need to know the control name of each of the controls. Once you've got it then you could work from there.

Link to comment
Share on other sites

1 hour ago, InunoTaishou said:

Depends on the type of GUI that is in the outlook email. If they used activex to create the form and controls, I wouldn't know how to do it, but if you can use the AutoIt tool to read the info about the control then they used a a Form Control, and that is very easy to work with.

ControlGetText
ControlSetText
ControlClick
ControlCommand

Are the functions you'd want to use.

Idk how you'd use some VBA code to intereact with these. You'd need to know the control name of each of the controls. Once you've got it then you could work from there.

Thanks, I'll give that a shot. I had tried using this to see if I could get me anything to work off of:

WinGetText("[ACTIVE]")
WinGetHandle("[ACTIVE]")

But wasn't helping.

What parameters should I use to be able to get the text of the currently selected item?

In the past when using the WinGetText or handle, I've always created a hot key command that calls a function that runs a message box with the info from the active window. I was thinking something like this:

Hotkeyset("!4", "Get")

Func Get()

MsgBox(0,"",ControlGetText("[ACTIVE]","[ACTIVE]","[ACTIVE]"))

EndFunc

But I just get blank message boxes when doing this.

Link to comment
Share on other sites

23 hours ago, InunoTaishou said:

Open up the AutoIt Window Info Tool and move the Finder tool over the controls to see if you get any info. If you do then copy/paste the results here

Didn't know that existed. 

Here's what it spit out:

>>>> Window <<<<
Title:  Service Dispatch  
Class:  rctrl_renwnd32
Position:   2050, 162
Size:   1393, 810
Style:  0x16CF0000
ExStyle:    0x00040100
Handle: 0x006A2744

>>>> Control <<<<
Class:  F3 Server 16700000
Instance:   6
ClassnameNN:    F3 Server 167000006
Name:   
Advanced (Class):   [CLASS:F3 Server 16700000; INSTANCE:6]
ID: 
Text:   
Position:   15, 360
Size:   382, 42
ControlClick Coords:    106, 24
Style:  0x56000000
ExStyle:    0x00000000
Handle: 0x003A2710

>>>> Mouse <<<<
Position:   2179, 546
Cursor ID:  0
Color:  0xFFFFFF

I'm not thinking there is going to be any simple solution for me on this one. I'll probably end up dropping this idea.

Appreciate your support! 

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

×
×
  • Create New...