就是让它不能启动,谢谢

解决方案 »

  1.   

    将自己的程序注册到服务进程,然后监视特定的窗口如果有,获得它的窗口句柄,向他发送wm_close消息。
      

  2.   

    列举系统中的进程列表,若发现有想禁止的,就TerminateProcess()
      

  3.   

    Hook API CreateProcessA/CreateProcessW Founction
      

  4.   

    Hook CreateProcess ShellExecute ShellExecuteEx WinExec RunDll32
      

  5.   

    在WINDOWS 运行栏里键入:MSCONFIG
    然后在配置对话框中可以禁止任何启动程序
      

  6.   

    开一个时钟,枚举当前的进程!
    结合GetWindowText,GetClassName
    如果获取该程序的信息,如果确定该程序存在,TerminateProcess!
      

  7.   

    谢了
    我想这样,建一个Hook,监视WH_CREATE,用GetWindowText,GetClassName获取该程序的信息,确定该程序存在,TerminateProcess,行不?
      

  8.   

    csdn_cht:
      对服务进程我没接触过,可不可以看看源吗?
      

  9.   

    可以考虑编写一个类似“冰河”的程序,修改注册表exe程序的启动关联(冰河用的是txt)。也就是在用什么方式启动exe程序,默认是%*,改成你的程序后,每次启动exe程序都会首先启动你的程序。再在这个程序的启动阶段通过GetCommandLine获取用户事实上要启动程序的路径,在这里遇到要禁止的程序就可以直接退出,如果其他程序就利用Winexec启动。
      

  10.   

    如果该程序有个固定的窗口,用FindWindow得到其句柄,然后PostMessage(WM_QUIT,NULL,NULL);
      

  11.   

    diggerhan() :
    我在MSDN里面没有看到监视的消息类型有 WH_CREATE啊,怎么回事?
      

  12.   

    Winexec程序我怎么找不到啊.]
    我用的是XP系统
    执行Exe文件,XP是用什么程序执行的。
      

  13.   

    我知道了,原来WinExec是一个API。
    晕了,以前一直在用ShellExecute()居然偶不知道有着个好用的函数。