07-11-2018 11:44 AM
Hi,
I am using a control software package called Nexygen, which controls a mechanical tester and stores the test data. Nexygen does not do any data analysis, so, I need to write a VI to analyze the data that Nexygen collects. Nexygen outputs an Excel file when the test is completed.
Nexygen has a user interface screen which requires the user to select "START" and "END" each time the test is performed. Is there any way that LabVIEW can effectively "START" and "END" the Nexygen test cycle in a VI so we do not have to manually select "START" and "END" on the Nexygen user interface screen? We are doing about 1000-2000 tests per day, so, it is important to improve our capability.
-----------------------------------------------------------------------------------
My sequence now is the following:
Select START on Nexygen screen
Instrument does its mechanical test, and Nexygen stores the test data in an Excel file.
Select END on Nexygen screen
Start LabVIEW VI to import and analyze Excel data.
-----------------------------------------------------------------------------------
Is there any way that the LabVIEW VI could effectively select START and END as part of its operation? LabVIEW drivers from Nexygen are not available.
Thank you!
Dave
07-11-2018 11:57 AM
Hi dav,
you can use tools like AutoIt to remotely control other software.
And you can call AutoIt from LabVIEW using SysExec…
07-11-2018 12:06 PM - edited 07-11-2018 12:13 PM
Quite a while ago I developed a similar LabVIEW application which would interact with the control software for an instrument through its UI and then process the resulting data. It wasn't simple or straightforward to develop the interface between the two. First I used some tool like UISpy or something similar to identify the controls in the other window that I needed to interact with, then my application called various functions in user32.dll, including "FindWindowA" to obtain the window's handle, "GetDlgItem" to obtain handles for various UI items like text fields and buttons, and "SendMessageA" to modify those fields and click those buttons. It took a lot of research and trial and error to get it working, but once it worked it was reliable.
Edit: I may have followed these directions: https://www.c-sharpcorner.com/UploadFile/SamTomato/clicking-a-button-in-another-application/