Во-первых, я не спрашиваю о программных решениях, я просто публикую этот код, чтобы показать, как работает эта программа.

Я попробовал эту программу ниже (в виртуальной коробке):

#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? Любая идея?

0