Как я могу заморозить выполнение программы?

Скажем, у меня есть программа, которая загружает процессор и / или жесткий диск до такой степени, что практически невозможно что-либо сделать на этом компьютере. Теперь я не хочу убивать эту программу, потому что то, что она делает, полезно (это пакетная работа, которая на самом деле загружает процессор или диск, например, она может сжать несколько гигабайт файлов данных), но на короткое время мне нужно сделать что-то еще на этом компьютере. Есть ли какой-нибудь способ, которым внешняя программа могла бы на какое-то время заморозить это убийство производительности?

Это похоже на старую опцию DOS для переключения между программами без использования многозадачности.

Предположим, что рассматриваемая гипотетическая программа является сторонним продуктом, для которого у меня нет исходного кода, и нет способа заставить его остановиться.

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

Я говорю о Windows XP как об ОС и хотел бы запрограммировать решение с помощью Delphi. У меня есть все права на машину, поэтому я мог запускать что-то от имени администратора, заменять файлы, а также мог бы установить службу, если это необходимо.

8
задан dummzeuch 31 October 2010 в 10:00
поделиться