别告诉我使用注册表,那是98用的伎俩

解决方案 »

  1.   

    hook. WH_CBT  ->create->wnd
    widows class "ConsoleWindowClass"->return 1;
      

  2.   

    就是使用一个钩子, 类型为WH_CBT,钩到所有窗口创建的消息. 然后判断窗口类是否是"ConsoleWindowClass"(是否是控制台窗口), 如果是, 直接返回1阻止消息的继续传递, 那么窗口就建不起来了. 如果不是就调用CallNextHook
      

  3.   

    很悲惨,命令窗口不加载任何hook,根本不行注册表法在xp下不可用
      

  4.   

    把cmd.exe删了,然后备份到自己要求的地方
      

  5.   

    我想以可以试着挂接CreateProcess这个函数,用自己的函数替换系统的CreateProcess函数,在自己的替换函数里判断用于创建进程的可执行文件是不是CMD.exe是的话直接返回。否则调用系统的CreateProcess创建CMD进程。
      

  6.   

    直接删除cmd.exe,如果在dllcache中有备份,也一并删掉。
      

  7.   

    将cmd.exe的权限设为对所有用户不可运行(在NTFS分区下)。:)