关于hook的有关问题

关于hook的问题
大家好,第一次发帖子,请大家多帮忙啊
我要做一个小程序,要监视所有进程的启动和关闭
开始想用api作polling,就是用enumprocess什么的判断
但是发现这个办法不太好,刷新时间太短就占用cpu,太长就有漏掉的
后来看见很多人说用hook可以做,找了一些资料,但是很是有几个问题
搞不太清楚。
1.   现在所谓的api   hook   是否都是针对某一个进程的函数调用内存操作的阿
      也就是说是不是都需要先用sethookex或者createremotethread把dll挂
      到一个进程里面哪?有没有一种办法不用针对具体进程,直接监视比如
      user32.dll,也就是说全部对这个dll的某个api的调用全都可以监视的办法哪
2.   试过一个修改入口函数的例子,在xp   sp2下出现了错误提示,好像有什么dep保护
      是不是api   hook对这个东西没有办法绕过去那
3.   用sethookex的方法可以注入自己的dll到别的进程,但是好像对console窗口无效阿,这个有什么解决办法没有
4.   我说的这个需求用用户级的api   hook到底能实现吗,我是说不同平台下,不论是哪个应用程序启动关闭都能监视的需求。还是说需要做驱动阿

谢谢

------解决方案--------------------
你的这个应该使用内核钩子实现,
用户级的api hook不能达到要求。

------解决方案--------------------
你可以HOOK 创建进程函数