是否有一种方法可以杀死所有与应用程序相关的流程实例,而不管使用NSIS的用户是谁?

时间:2019-03-26 10:49:04

标签: nsis

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

已执行的步骤:

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

当切换回管理员用户并卸载应用程序时,仅能杀死管理员用户的进程。而且正常的用户流程仍在显示。

有没有办法杀死与应用程序相关的所有进程,而与用户特定无关?

我正在使用以下代码段:

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

1 个答案:

答案 0 :(得分:1)

管理员可以查找并杀死以其他用户身份运行的进程。插件维基页面上对此进行了标注:

  

以“管理员身份”运行或切换到其他用户时查找其他用户的进程

编辑:

事实证明,该插件不请求debug privileges,因此无法杀死以其他用户身份运行的进程。

您可以尝试与作者联系,并要求他们添加此功能。同时,我建议您改用LockedList plug-in