NSIS:NsProcess 意外输出
NSIS : NsProcess UnExpected Output
NSIS 中的 Newbee,我试图实现 nsProcess 插件来检查当前应用程序是否正常工作!我成功地在示例代码中实现了相同的功能,但是当我尝试在我的项目中实现相同的功能时,我得到了意想不到的输出,如下面的图像消息框所示!为什么我得到这个??请任何人都可以指导我。提前感谢您的帮助:)
项目片段!
!include "MUI2.nsh"
;!include "MUI.nsh"
!include LogicLib.nsh
!include "StrFunc.nsh"
!include "FileFunc.nsh"
!include WinMessages.nsh
!include "nsProcess.nsh"
;!include "FindProcess.nsh"
#Dummy Section
...
#EndSecton
!macro CheckAppRunning_ _FILE _ERR
App_Running_Check:
${nsProcess::FindProcess} "MyApp.exe" $R0
MessageBox MB_OK "$R0"
${If} $R0 == 0
MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION "Please stop App.exe before continuing" /SD IDCANCEL IDRETRY App_Running_Check
Quit
${EndIf}
notRunning:
!macroend
Function .onInit
!insertmacro CheckAppRunning_ `MyApp.exe` $R0
FunctionEnd
$R0 returns这个值!!!为什么???
这很可能是 ANSI 与 Unicode compiler/plug-in 不匹配。
如果您使用的是 NSIS v2,那么您需要将正确的插件版本从 .zip(ANSI,除非您使用的是第三方 NSIS 分支)提取到插件文件夹中。如果您使用的是 NSIS v3,那么每种类型都有一个插件子文件夹,请确保将正确的插件放入每个子文件夹中。 Unicode 插件 .dll 通常位于 Unicode 子文件夹中,或者在 .zip 存档的文件名中具有 'W' 后缀。
NSIS 中的 Newbee,我试图实现 nsProcess 插件来检查当前应用程序是否正常工作!我成功地在示例代码中实现了相同的功能,但是当我尝试在我的项目中实现相同的功能时,我得到了意想不到的输出,如下面的图像消息框所示!为什么我得到这个??请任何人都可以指导我。提前感谢您的帮助:)
项目片段!
!include "MUI2.nsh"
;!include "MUI.nsh"
!include LogicLib.nsh
!include "StrFunc.nsh"
!include "FileFunc.nsh"
!include WinMessages.nsh
!include "nsProcess.nsh"
;!include "FindProcess.nsh"
#Dummy Section
...
#EndSecton
!macro CheckAppRunning_ _FILE _ERR
App_Running_Check:
${nsProcess::FindProcess} "MyApp.exe" $R0
MessageBox MB_OK "$R0"
${If} $R0 == 0
MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION "Please stop App.exe before continuing" /SD IDCANCEL IDRETRY App_Running_Check
Quit
${EndIf}
notRunning:
!macroend
Function .onInit
!insertmacro CheckAppRunning_ `MyApp.exe` $R0
FunctionEnd
$R0 returns这个值!!!为什么???
这很可能是 ANSI 与 Unicode compiler/plug-in 不匹配。
如果您使用的是 NSIS v2,那么您需要将正确的插件版本从 .zip(ANSI,除非您使用的是第三方 NSIS 分支)提取到插件文件夹中。如果您使用的是 NSIS v3,那么每种类型都有一个插件子文件夹,请确保将正确的插件放入每个子文件夹中。 Unicode 插件 .dll 通常位于 Unicode 子文件夹中,或者在 .zip 存档的文件名中具有 'W' 后缀。