задача: Нужно, чтобы некоторые процессы создавались с перехватом некоторых API-функций, а некотрые как обычно. При этом, если нажата определенная комбинация клавиш, то в активном процессе(тот у кого в данный момент окно активно) состояние перехвата API менялось бы на противоположное, т.е. если в момент нажатия клавишь перехват осуществлялся, то отменить его, иначе — начать. Вот, что я придумал: Составить таблицу(храниться в файле, загружается в память при загрузке my_prog.exe): prog1.exe + prog2.exe + prog3.exe + prog4.exe - prog5.exe - prog6.exe - 1. Запускаем my_prog.exe при старте Windows. Он сразу же вешает хук на все процессы и перехватывает(меняя таблицу импорта) у них СreateProcess(). Так же он ловит нажатие определенной комбинации клавиш(глобальный хоткей). 2. При создании кем-либо процесса входящего в мою таблицу и отмеченного "+", вызываем CreateProcess() с флагом CREATE_SUSPENDED, после чего передаем в my_prog.exe идентификатор первичного потока создаваемового процесса. Внутри my_prog.exe мы вешаем на него хук(и исправляем таблицу импорта для нужных API функций), после чего вызываем ResumeThread(). 3. Если нажата определенная комбинация клавиш(тот самый глобальный хоткей) и текущее активное окно десктопа является окном процесса, находящегося в моей таблице, то: если перехват API функций в этом процессе производится, то прекращаем его, иначе — начинаем перехват. Фу. Надеюсь понятно объяснил. Я сам сильно начинающий и многого не понимаю, так что если мой вариант решения поставленной задачи глуп и нелогичен, то с огромным удовольствием выслушаю ваши наброски и идеи. Если же мой вариант вполне удовлетворителен и не должен вызывать особых проблем в реализации, то хотелось бы узнать следующее: а) как лучше передавать идентификатор процесса отмеченного "+" в my_prog.exe? (это нужно для того, чтобы только моя программа контролировала время жизни хуков) б) как узнать имеет ли поток(threadId) окно? Может быть можно перебирать все окна в системе, и узнавать их threadId? зы Нужно, чтобы всё работало в Win9x/2000/XP.