Venus API and access to run State from Legacy Run Control

Hi,

I have a naive question : I’m running Venus 6.3.2 on a Vantage and I want to know if there’s a way to query the run state during a run that is started with the Venus Run Control (currently legacy run control). Our goal is to monitor the state of the run with an external application and do further actions based on it, but I don’t want to redevelop a run control interface to load / run the method via the API.

My crude guess was that since the Vantage is connected by IP and not USB it was possible to monitor the run state using the API.

Thanks for your help,

2 Likes

I am also interested in the Venus API.

My current implementation polls the Hamilton Run Control status by using user32.dll functions (like FindWindow and GetWindowText) to retrieve text from its status window handle.

Legacy run control is an ActiveX control, you can embed it in your application to load/run method (pause/resume/abort), and also get status with its functions.

Thank you so much, I was indeed able to retrieve the status from the window handle. Unfortunately this one doesn’t have the same level of detail as the API (like knowing when an error is ongoing and require user interaction).

Using the API is definitely the first choice. Have you found the best solution yet?

If not, I’ve made some attempts to capture the pop-up message boxes using User32 and GCHandle functions. This approach allowed me to retrieve the error information from the message box.

1 Like

Hi Yass,
the legacy Run Control (HxRun.exe) is a self-contained process and doesn´t have an interface to access to the run status.

Possible workarounds:

  • Use another application to monitor if HxRun.exe process is running in the Windows tasks— (Note: this will not confirm that a system is busy or idle, just that the HxRun application is open)

  • From your method, add commands at the beginning, at the end and in the ‘OnAbort’ tab that send a signal to your external application to indicate that a new run is active. This could be a file in a shared folder, calling an executable, or sending an HTTP request to a server.

1 Like