http://wasm.ru/article.php?article=apihook_1 http://wasm.ru/article.php?article=apihook_2 http://wasm.ru/article.php?article=apihook_3
Оу драйвер точно не пойдет Вобщем дело такое Сервис при старте убивает Експлорер и является шеллом - приложения запускать можно только из него т е я могу контролировать запускаемые приложения но вот как быть если запущенная программа имеет доступ к файловой системе (при наличии диалоговых окон сохранить открыть и тп) то тогда можно запустить любой процесс можно получается как дочерний как этого избежать. Шелл позволяет запускать только приложения разрешенные конкретному пользователю
Смотря какой серьезности защита необходима, можно создать список разрешенных приложений, я точно знаю, что есть такой механизм, эти имена приписываются в реестре, где не помню. Неадминам менять его нельзя ибо локалмачине, политика бепопастности при стандартных настройках такая, контролируемый пользователь должен быть естественно не админом. Естественно, это не касается разработки коммерческого продукта, такой способ не покатит. Вообще автору нужны было бы тогда создать тему в хипе.
xDreams В юности я как-то делал такую штуку. Прописывал в ключе реестра HKEY_CLASSES_ROOT\exefile\shell\open\command дефолтное значение вместо стандартного "%1" %* вот это <путь_к_контроллирующей_проге> "%1" %* тогда при попытке запуска любого ехе запустится контроллёр, имея в командной строке полный путь к этому ехе (и его параметрам ком. строки). А дальше решаешь - запускать или не запускать. Защита детская, конечно.