Libuic is a project mainly written in OBJECTIVE-C and C++, it's free.
The libuic allows to programmatically control UI elements of OS-X applications.
h1. Overview
The libuic allows to programmatically control UI elements of OS-X applications. It provides the functionality to save UI elements, to perform a 'PRESS' action and to set the 'AXValue' attribute. The lib uses the mac OS-X "accessibility API":http://developer.apple.com/library/mac/#documentation/Accessibility/Reference/AccessibilityLowlevel/AXUIElement_h/CompositePage.html to control other applications.
The apple developer tools provide an 'Accessibility Inspector' to explore application UI elements and their possible actions:
open /Developer/Applications/Utilities/Accessibility\ Tools/Accessibility\ Inspector.app
h1. Example
uic::UIController uiController;// save UI element under the current mouse position uiController.saveUiElement(1);
// perform 'PRESS' action for the last stored UI element uiController.performAction(1, uic::UIController::PRESS, false);
Note: The included sample-app requires ncurses.
h1. Build process
h1. Documentation