Hi David (@hillda),
There is still no obvious or direct way to do this programmatically, because the recalibration tool is run in its separate and standalone process. Though Robert’s suggestion to monitor state changes seems a bit fragile to me, it probably works reasonably well.
In the Tobii EyeX SDK for Unity 1.7, you find the FindWindowWithThreadProcessId method in the WindowsHelpers class, found here: Assets/StandardAssets/EyeXFramework/WindowHelpers.cs
In the recently released Tobii EyeTracking SDK for Unity – v2.0 (Beta), the LaunchRecalibration method is not included in the EyeTrackingHost API.
What we usually do ourselves when we are out at shows demoing games with eye tracking to many people is to use a combination of guest calibration and Alt-Tab:
1. When in the game, press Ctrl-Shift-F9 to launch a guest calibration
2. When calibration is done, Alt-Tab back to the game (using Window’s built-in application switcher)
This is feasible for us since we are always there to talk to and guide each user at the show.