有没有办法杀死与应用程序相关的所有进程实例,而不管使用 NSIS 的用户特定?

Is there a way to kill all the process instances related to the application irrespective of the user specific using NSIS?

从管理员用户卸载应用程序时,只有与该特定用户相关的进程正在 NSIS 中清理。该进程的其他实例未被杀死。

遵循的步骤:

从管理员用户安装应用程序,然后以普通用户身份登录。所以对于每个用户,我看到一个进程(这是预期的行为)

切换回admin用户卸载应用时,只能kill掉admin用户的进程。而且正常的用户进程还在显示。

是否有任何方法可以终止与应用程序相关的所有进程,而不管用户特定的进程?

我正在使用下面的代码片段:

Section "Uninstall"

${nsProcess::FindProcess} "sysnotification.exe" $R0

MessageBox MB_OK "nsProcess::FindProcess$\n$\n\
            Errorlevel: [$R0]"
${if} $R0 == 0
BringToFront
${nsProcess::KillProcess} "sysnotification.exe" $R0
MessageBox MB_OK "KillProcDLL::KillProc$\n$\n\
                    Errorlevel: [$R0]"
${EndIf}

${nsProcess::Unload}

SectionEnd

管理员可以像其他用户一样查找和终止进程 运行。这在插件 wiki 页面上有说明:

Finds processes of other user(s) when running 'as Administrator' or when having switched to another user

编辑:

原来插件没有请求debug privileges,因此无法像其他用户一样终止进程运行。

您可以尝试联系作者,让他们添加这个功能。同时,我建议您改用 LockedList plug-in