在 C++ 中,您可以使用 CreateProcess 函数来创建一个新的进程,并设置其安全属性,使其无法被任务管理器(如 taskkill)关闭。下面是一个示例代码:

#include <windows.h>

int main()
{
    // 创建进程结构体
    STARTUPINFO si;
    PROCESS_INFORMATION pi;

    // 设置进程安全属性
    ZeroMemory(&si, sizeof(si));
    si.cb = sizeof(si);
    si.dwFlags = STARTF_USESHOWWINDOW;
    si.wShowWindow = SW_HIDE;

    // 创建进程
    if (CreateProcess(NULL, 'taskkill /F /IM target_process.exe', NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
    {
        // 等待进程结束
        WaitForSingleObject(pi.hProcess, INFINITE);

        // 关闭进程句柄
        CloseHandle(pi.hProcess);
        CloseHandle(pi.hThread);
    }

    return 0;
}

在上面的代码中,我们调用 CreateProcess 函数创建一个新的进程,并执行 taskkill /F /IM target_process.exe 命令,强制关闭名为 target_process.exe 的进程。通过设置 STARTUPINFO 结构体的 wShowWindow 成员为 SW_HIDE,我们隐藏了新进程的窗口。

请注意,这种方式只是隐藏了新进程的窗口,并且阻止了任务管理器直接关闭该进程。如果用户知道进程的名称,并在命令行中手动执行 taskkill 命令,仍然可以关闭该进程。要实现完全的进程保护,您可能需要使用更高级的技术,比如使用驱动程序或系统级的安全措施。

C++ 阻止 Taskkill 关闭进程 - 如何让 Taskkill 失效

原文地址: https://www.cveoy.top/t/topic/bRfP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录