I like the System Information file technique and definitely find using mapkeys via AutoIt advantageous.
One thing I have found unreliable is looking for existence of windows. One would think that a window would not exist until it was opened, but not so. Often applications create windows and give them negative locations or zero size. A 'wait until win exists' will return instantly, even though the target not visible to the user and was never active. Preferable to try Winactivate and see if it did.
Using System Date and Time is also useful as an item to find in the Trail file. Not only does it report the current date/time, it also reports how long it was since the last use of the command. This delta is not reported to the message area (to WF5)
In Reply to Mike Phillips:
I've been working on something similar (also written in Autoit). I'm using
a couple of techniques in order for the script to "know" what Creo
Parametric is doing.
1. I've pre-recorded my Creo Parametric interaction into mapkeys. As the
last step of each mapkey, I open the the system information dialog (File >
Help > System Information). This automatically creates a file in the start
up directory named "support.inf.1". So I have my script wait for that file
to be created...and I know that the mapkey has completed. Then I delete the
file and continue on.
2. At times I also read the trail file. I read each new line as it is
created and attempt to match a given string with the text in the file. So
for instance I look for "Checkout and add to workspace succeeded" to
confirm that a particular model has been check out.
I'm sure there are better techniques out there but this is working for me.