It very much depends what your application is build in. A typical Windows application is basically constructed with lots of child windows. Each control on a main window is a window again embedded in the main window and controls can then contain again subwindows for its individual parts. This is true for all applications build using Visual Basic, and also Visual C applications if they use MFC or some other Micrsoft framework. Autoit basically tries to locate these subwindows and sends messages to them to query them for their current value etc.
If your target application is creating its own widgets in its own internal way on the main window then Autoit can't really read the value displayed in these widgets. LabVIEW for instance does not use Windows windows for its controls and indicators but handles all the drawing and internal message dispatch completely on its own. Autoit consequently can't read control values displayed in LabVIEW controls and indicators.