Удовлетворительный способ сделать это - создать драйвер ядра, который использует PsSetCreate|ProcessNotifyRoutineEx
(поддерживается в Vista SP1 и более поздних версиях) для управления процессом создания (и завершения). Эта процедура позволяет вам зарегистрировать функцию обратного вызова, которая вызывается, когда либо процесс создается, либо завершается. В случае создания ваш обратный вызов может решить заблокировать процесс. Обработчик получает следующую информацию о новом процессе:
1) имя файла изображения,
2) аргументы командной строки,
3) PID,
4) PID своего родителя,
5) TID: PID процесса создания и потока.
Если вы не хотите разрабатывать драйвер ядра, вы можете приблизительное решение. AFAIK WMI может уведомить вас о том, что новый процесс только что был создан. Когда вы получите уведомление, вы можете приостановить процесс и попросить пользователя об этом (или сделать все, что пожелаете).
http://www.codeproject.com/Articles/44326/MinHook-The-Minimalistic-xx-API-Hooking-Libra попробуйте это –
Возможный дубликат [Как я могу подключить функции Windows в C/C++] (http : //stackoverflow.com/questions/873658) –