I would get the drop-down list handle of the command line.
I have a C# plugin to read Winapi special messages and execute some actions.
For performance and stability, I exclude all messages that are not attached to Rhino main window.
private IntPtr HookFunc (int nCode, IntPtr wParam, IntPtr lParam)
{
if( nCode != 0 ) return CallNextHookEx (_hookId, nCode, wParam, lParam);
if( _rhinoWinHandle != GetForegroundWindow () )
{
//TODO MAJ Do not go here when the drop-down list on the command line is displayed.
return CallNextHookEx (_hookId, nCode, wParam, lParam);
}
...
}
AutoIt has a Window Info tool that sometimes may be helpful with identifying specific controls. While the handle may be different per each Rhino instance, maybe there are some other constant properties you can find to identify the autocomplete list control and get its handle? Far shot, probably…