Jump to content

Interacting with application menu controls


Recommended Posts

I imagine that this has been discussed before, but all of my queries found too many hits to be meaningful.

I want to be able to navigate the File|Edit|View|etc menus in an application and activate specific menu options. I know how to do this with keystrokes (e.g. Alt-F, Down, Down, Enter etc.) but I would prefer to do this more surgically using ControlClicks instead.

The trouble is that the menubar control that contains the File|Edit|View|etc is a single control with a single ID and I see no way to ControlClick the "File" portion of it or scroll down in the submenu and select an item.

Thanks in advance for your insights. If I've missed something obvious in the docs or in the forum, please point me in the right direction.

Thanks,

Dale

Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y

Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Link to comment
Share on other sites

WinMenuSelectItem

<{POST_SNAPBACK}>

Ugggh. Thanks. I knew I had seen a command with the word 'menu' in it but I could't find it anywhere and I was sniffing in the wrong yard.

That was an RTFM -- thanks.

Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y

Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Link to comment
Share on other sites

Ugggh.  Thanks.  I knew I had seen a command with the word 'menu' in it but I could't find it anywhere and I was sniffing in the wrong yard.

That was an RTFM -- thanks.

<{POST_SNAPBACK}>

it's really easy to overlook stuff.....I do it all the time...... :(
[u]Do more with pre-existing apps![/u]ANYGUIv2.8
Link to comment
Share on other sites

WinMenuSelectItem

<{POST_SNAPBACK}>

Oh well, back to the drawing board. The application I am trying to automate must have a "fake" menu control.

WinMenuSelectItem will only work on standard menus. Unfortunately, many menus in use today are actually custom written or toolbars "pretending" to be menus. This is true for most Microsoft applications.

>>>>>>>>>>> Control Under Mouse <<<<<<<<<<<
Size:       X: 0    Y: 1    W: 1072 H: 27
Control ID: 59647
ClassNameNN:    Afx:400000:8:10011:10:01
Text:       
Style:      0x5400281C
ExStyle:        0x00000000

I can't get at the COM interface for this app, so I'm back to keyboard actions unless there are any other ideas...?

Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y

Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Link to comment
Share on other sites

Oh well, back to the drawing board.  The application I am trying to automate must have a "fake" menu control.

>>>>>>>>>>> Control Under Mouse <<<<<<<<<<<
Size:       X: 0    Y: 1    W: 1072 H: 27
Control ID: 59647
ClassNameNN:    Afx:400000:8:10011:10:01
Text:       
Style:      0x5400281C
ExStyle:        0x00000000

I can't get at the COM interface for this app, so I'm back to keyboard actions unless there are any other ideas...?

<{POST_SNAPBACK}>

Look in this post:Look Larry's response

He did it like this in paint shop pro

ControlSend("Jasc","","BCGToolBar:400000:8:10011:103","w1")
Link to comment
Share on other sites

Look in this post:Look Larry's response

He did it like this in paint shop pro

ControlSend("Jasc","","BCGToolBar:400000:8:10011:103","w1")

<{POST_SNAPBACK}>

Yes, this is good I think. I'm still sending keystrokes (Alt-fc aka !fc), but they are being directed specifically to the menu control and are not simply being cast out to the Windows ether when another application popup can steal focus and break the workflow.

Thanks all!

Dale

Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y

Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

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