我想实现一个内核程序,当这个程序运行时,OS内的其他程序都得不到执行!
就好比SoftICE一样,当我按下CTRL+D的时候,我的程序就启动了,并且当前OS内的其他进程马上停止执行……有谁知道SoftICE是如何实现的吗?谢谢~~~~

解决方案 »

  1.   

    这几个API函数你试下?
    NtSuspendThread
    NtResumeThread
    NtSetPriorityClass
    NtSetThreadPriority
      

  2.   

    softice这个是做到操作系统底层了,弄了N多的驱动.
      

  3.   

    SoftIce是用驱动实现的,我们现实看到的程序,都是运行在虚拟机里的,SoftIce直接在内核模式上操作,并让系统挂起,但是内核模式上的程序并不因此挂起。
      

  4.   

    softice是把windows作为自己的程序运行,就像vc中调试程序一样,所以能够完全控制,如果楼主想提高内核程序的运行时间,我觉得可以提高给程序的优先级,当然这样做也不能做到100%独占,毕竟windows系统要分时调度
      

  5.   

    大家看过linice的源码?这是个在linux下与SoftICE类似的调式工具,开源的!
    我正在研究http://www.linice.devic.us/linice.htm
      

  6.   

    弄个驱动进Ring0,把其他所有的软件程序挂起,就OK了,文件过滤驱动也可以考虑……不过效果不是很好,应该是类似中断的一些玩意
      

  7.   

    听说有个JerKiiOS ,可以试试
      

  8.   

    人家的SoftICE程序写了都十来年了,代码少说也百万行之多,哪能几句话就给说明白的哟。