当 Windows 中打开大量且速度非常快的干扰性消息框时,如何手动终止它们

当 Windows 中打开大量且速度非常快的干扰性消息框时,如何手动终止它们

首先,我不要求编程解决方案,我只是发布这段代码来展示这个程序如何工作。

我尝试了以下程序(在 Virtual Box 中):

#include <iostream>
#include <string.h>
#include <windows.h>

using namespace std;

int main(int argc, char **argv){

    //program will create a command string that will be executed by the system console to call itself in another process (create another process): cmd = start program_name.exe
    string cmd = string("start ") + string(*argv);

    //execute cmd: a temporary console will be opened, then execute cmd, finally the console will be closed
    system(cmd.c_str());

    //display a message box (In fact, display many message boxes) which annoying user
    MessageBowW(0, L"Message box content", L"Message box title", MB_OK | MB_ICONEXCLAMATION | MB_TOPMOST);

    //if the user pressed OK button in a message box, the message box will display again (by recursion)
    return main(argc, argv);
}

编译后的可执行文件在这里

通过反复调用自身,该程序会打开许多​​非常烦人的消息框并降低系统速度。该程序还会阻止用户进行任何操作。

我除了重启系统之外没有更好的办法了。

我的问题是,如果我不小心打开了这个程序(直接双击打开),如何在不重新启动 Windows 的情况下停止所有进程?有什么想法吗?

相关内容