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

Reply via email to