请大虾指教!

解决方案 »

  1.   

    如果你不想使用驱动程序帮忙的话,就使用一些Windows API来做也是可以的。简单的讲就是类似那些进程监视程序,动态枚举出当前系统中活动的进程。
    调用EnumProcesses,可以得到当前系统中所有进程的id,然后调用OpenProcess打开得到进程的句柄,接下来的事情你应该很好办了。这个办法有点笨,因为需要定时枚举进程,时间间隔设得太长可能遗漏那些生命期很短的进程,太短又可能占用过多系统资源。最好的办法可能还是使用驱动程序监视所有的CreateProcess调用。
    www.sysinternals.com上有监视系统进程/线程的程序,可惜没有源代码,想来要自己实现一个也不是那么容易的,如果你急着出活,建议用上面我介绍的方法。如果想彻底解决和深入研究,那就建议写驱动程序。
      

  2.   

    多谢timeguest(三少爷)的建议,我对驱动程序是一窍不通,驱动程序这方面看什么书入门比较好?
    to yongdu()如何钩CreateProcess?
    多谢两位!