55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
nsExec
|
|
------
|
|
nsExec will execute command-line based programs and capture the output
|
|
without opening a dos box.
|
|
|
|
|
|
Usage
|
|
-----
|
|
nsExec::Exec [/MBCS] [/OEM] [/TIMEOUT=x] path
|
|
Pop $0
|
|
|
|
-or-
|
|
|
|
nsExec::ExecToLog [/MBCS] [/OEM] [/TIMEOUT=x] path
|
|
Pop $0
|
|
|
|
-or-
|
|
|
|
nsExec::ExecToStack [/MBCS] [/OEM] [/TIMEOUT=x] path
|
|
Pop $0 ; Return
|
|
Pop $1 ; Output
|
|
|
|
All functions are the same except ExecToLog will print the output
|
|
to the log window and ExecToStack will push up to ${NSIS_MAX_STRLEN}
|
|
characters of output onto the stack after the return value.
|
|
|
|
Use the /MBCS switch to disable Unicode detection and always treat the text as ANSI.
|
|
|
|
Use the /OEM switch to convert the output text from OEM to ANSI.
|
|
|
|
The timeout value is optional. The timeout is the time in
|
|
milliseconds nsExec will wait for output. If output from the
|
|
process is received, the timeout value is reset and it will
|
|
again wait for more output using the timeout value. See Return
|
|
Value for how to check if there was a timeout.
|
|
|
|
To ensure that command are executed without problems on all windows versions,
|
|
is recommended to use the following syntax:
|
|
|
|
nsExec::ExecToStack [OPTIONS] '"PATH" param1 param2 paramN'
|
|
|
|
This way the application path may contain non 8.3 paths (with spaces)
|
|
|
|
Return Value
|
|
------------
|
|
If nsExec is unable to execute the process, it will return "error"
|
|
on the top of the stack, if the process timed out it will return
|
|
"timeout", else it will return the return code from the
|
|
executed process.
|
|
|
|
|
|
Copyright Info
|
|
--------------
|
|
Copyright (c) 2002 Robert Rainwater
|
|
Thanks to Justin Frankel and Amir Szekely |