I have a program written in C++ with DirectX (as far as I know). The user interface has menus with buttons and other UI components. To automate a process I would like to find the function called by an event (eg. click on a specific button).

How can I identify such routines? Are there tools to help analyze and find those locations?

  • 2
    Can you identify on what UI framework this program is based?
    – PhoeniX
    Commented Sep 7, 2013 at 18:49
  • DirectX is a raw framework for graphics drawing. It doesn't actually have any native 'button' classes, all of the drawing on the screen is controlled by DirectX, but any user interface is built by the programmers, or the programmers of the UI framework. There is no silver bullet here, unfortunately. You might be able to find the default/main message loop (ala WndProc) and set a conditional break on a mouse event, like a button press.
    – fileoffset
    Commented Feb 24, 2014 at 2:44

1 Answer 1


You can use this tool MyNav. You can see some video examples here: Hex-Rays Plug-In Contest 2010. I think you're interested exactly on Analyzing Adobe Acrobat Reader's JavaScript plugin.

Also, you can use the commercial tool BinNavi.

  • not clear of how to use BinNavi for the task above. The Analyzing Adobe Acrobat... link is no longer working. It would be nice to have an example of how it can be used for the problem very similar to the original one...
    – Irbis77
    Commented Mar 15, 2022 at 18:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.