-
StackOverflow 文件
-
nsis 教程
-
服務
-
ServiceQueryConfig
##=
#= Service::QueryConfig
#
# USAGE:
# ${Service::QueryConfig} "NAME" /DISABLEFSR $0 $1
#
# ::QueryConfig = The service's binary path is returned.
# NAME = The Service name
# /DISABLEFSR = Disables redirection if x64. Use "" to skip.
# $0 = Return after call | 1 = success
# $1 = '' '' '' | Should be the file path
#
# $1 will now hold the path to it's binary executable or an error
#
!define Service::QueryConfig `!insertmacro _Service::QueryConfig`
!macro _Service::QueryConfig _SVC _FSR _ERR1 _ERR2
ReadEnvStr $R0 COMSPEC
StrCmpS $Bit 64 0 +4
StrCmp "${_FSR}" /DISABLEFSR 0 +3
ExecDos::Exec /TOSTACK /DISABLEFSR `"$R0" /c "${SC} qc "${_SVC}" | FIND "BINARY_PATH_NAME""`
Goto +2
ExecDos::Exec /TOSTACK `"$R0" /c "${SC} qc "${_SVC}" | FIND "BINARY_PATH_NAME""`
Pop ${_ERR1}
Pop ${_ERR2}
!macroend