Possible to use a GUI function without the GUI?

Started by Coldblackice, April 12, 2015, 05:30:10 PM

Previous topic - Next topic

Coldblackice

Is it possible to trigger a GUI's function without actually interacting with the GUI? Like "puppet-stringing" the behind-the-GUI function, essentially bypassing the GUI entirely.

For example, in Internet Explorer, pressing F12 brings up the Developer Tools pane. Inside, there's a "Clear domain cookies" button. Would it be possible to trigger this function without having to press F12 and then mouse-clicking the button?

Like if there was some way to "listen" for what's happening in memory when a button is clicked, capture that, and then replay it without having to interact with the GUI.

Note: I'm more interested in this general ability than merely using the button in this IE example -- I want to avoid any GUI-clicking scripts or automation. I'd love the ability to "hook" any program's GUI functions for my own scripts and programs, sort've like making your own API for a program.

Jeremy Collake

In general, no, it would need to be added by the original programmer, so there is a mechanism in the code to interact with other than the UI.

In theory, you could inject a module and patch the program to respond to your external stimulus. That's time consuming and more though.
Software Engineer. Bitsum LLC.

Coldblackice

Quote from: Jeremy Collake on April 17, 2015, 12:37:11 AM
In general, no, it would need to be added by the original programmer, so there is a mechanism in the code to interact with other than the UI.

In theory, you could inject a module and patch the program to respond to your external stimulus. That's time consuming and more though.

Yeah, I'm basically wanting to do that latter part -- pulling a puppet-string from outside the originating program. In other words, I'm not trying to add permanent functionality into a given program.

Are there any resources you could point me to for doing this, even if it would be time-consuming? For example, if I wanted to activate "Game Mode" in Process Lasso without clicking any menu items or buttons within Process Lasso, how could I do this?

Would there be a way to set up some sort of listener that captures what's happening when I click the menu-item inside Process Lasso, and then have it provide me with the information to pull this same trigger again from outside Process Lasso, like with a custom program or tool?


I guess my thought process is that, given that Process Lasso's code is already loaded into memory (or any program in general), I should theoretically be able to pull the same "trigger" that the menu item does, except without actually clicking the GUI to trigger it.

Any resources/pointers/how-to's that you or anyone could point me toward to accomplish this would be great!