One of the best tools for controlling or "automating" a Java GUI application (eg TWS) is Jemmy from http://www.netbeans.org. It is designed for building automated GUI test harnesses and allows access to fields, menus etc by name. All Java so works cross platform.
While on the topic of TWS data issues, here is another gripe. If TWS is started before DAX futures open, and there is a DAX line on a TWS page, then no real time data is received for DAX or ESTX50 until TWS is restated after market open - either on the TWS page or via the API. The problem has been around for months. I have never seen the problem with any other contracts. Anybody else experience this ?
have to go with Frost on this one. IBcontroller is great. but AutoIt is great also. Just create a script and have windows manager turn it on when you want it on. In the case of a freeze, if your program can detect it, AutoIt can shut the program down and re-open it, no problem.