Net2Com писал(а):
Как правильно приостановить чужое приложение?Другими словами, Вы слишком многого хотите, 100% "правильно" (то есть без возможных негативных эффектов) приостановить чужое приложение невозможно. Единственный грамотный метод я Вам уже описал, но любая заморозка нарушает стабильность приложения-жертвы, и тут встаёт вопрос - насколько пряморукий человек писал то приложение, учитывал ли он возможную рассинхронизацию потоков в силу стороннего воздействия. Например, при виде чего-то страшного и многопоточного, без внутренней синхронизации и блокировок, что так любят клеить на коленке местные неофиты, закрадывается серьёзное сомнение в том, что ЭТО Вам удастся заморозить без фатальных (для приложения) последствий. А при попытках заморозить некоторые службы или системные процессы (естественно, нужны соответствующие привилегии) Вы имеете все шансы как минимум дестабилизировать, как максимум - "повесить" или выбить в BSoD всю систему.
------------ Дoбавленo в 09.37:
Net2Com, кстати, Ваш горячо "любимый" WMC - управляемый процесс виртуальной машины .NET, там добавляются свои ньюансы, сейчас впервые попробую приостановить простейшее самодельное .NET-приложение описанным выше методом, самому интересно, что получится.
------------ Дoбавленo в 10.01:
Практика показала, что экземпляры 32-хбитной виртуальной машины .NET под NT5.x замораживаются наравне с обычными процессами, но WMC наверняка использует мультимедийные функции системы с аппаратным ускорением и работой с потоковыми данными, сетью. Кроме того, там NT6.x x64 чаще всего, а Ваше приложение таки 32-хбитное, не исключаю, будет такая же история как с отловом окон и процессов.