SharpCap <https://docs.sharpcap.co.uk/4.1/> is a popular astronomical imaging application and can be launched from a Windows cmd shell with a command-line argument <https://docs.sharpcap.co.uk/4.0/34_CommandLineArguments.htm>, like this: C:\Users\alanh>"..\\..\\Program Files\\SharpCap 4.1 (64 bit)\\SharpCap.exe" /runscript d:\\cameraList.py This correctly launches SharpCap to run a Python script cameraList.py to list available cameras (or whatever else is requested).
ImageJ has an exec() function <https://wsr.imagej.net/developer/macro/functions.html#E> that can be used to launch applications from an imageJ script. The following launches SharpCap, but apparently doesn't pass the /runscript argument correctly because SharpCap scripting reports an error and doesn't work. SharpCap = getDirectory("startup")+"..\\..\\Program Files\\SharpCap 4.1 (64 bit)\\SharpCap.exe"; status=exec (SharpCap+" /runscript d:\\cameraList.py"); Guided by the exec() function <https://imagej.net/ij/macros/ExecExamples.txt> examples, I tried instead: status=exec("cmd", "/c", "start", SharpCap, " /runscript", " d:\\cameraList.py" ); but an error that "*Windows can't find /runscript*" is returned as if it thinks */runscript* is an application. Replacing */runscript* with the application *SharpCap* as below works, but I don't understand why status=exec("cmd", "/c", "start", SharpCap, SharpCap, " /runscript", " d:\\cameraList.py" ); That launches SharpCap, and no error is reported, but the script is not executed. *The last attempt seems to be close to working, but I must have made some mistake in the exec() syntax.* The latest versions of imageJ and Win-11 were used. Any suggestions would be appreciated. Alan. -- *_______________________________* Dr Alan Hewat, NeutronOptics Grenoble, FRANCE (from computer) [email protected] +33.476984168 VAT:FR79499450856 http://NeutronOptics.com/hewat <http://neutronoptics.com/hewat> _______________________________ -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html
