我需要用一个程序来控制其它的EXE.主要功能如下:我打开程序A,就会启动EXE(B,C,D),EXE(B,C,D)都是有窗口的程序,但是我不需要显示它们.希望在进程中也能隐藏它们的进程.光我关闭程序A或停止运行程序A时,先停止运行EXE(B,C,D),再退出EXE(B,C,D).就相当于对EXE(B,C,D)进行操作一样.
哪位大侠知道该如何实现嘛!!

解决方案 »

  1.   

    http://groups.google.com/group/microsoft.public.win32.programmer.kernel/browse_thread/thread/41df685450e96b4a/005d373a7cc621af?lnk=st&q=hide+other+process&rnum=8&hl=zh-CN#005d373a7cc621af
      

  2.   

    将CreateProcess时返回的子进程的句柄保存起来,以备后用.
      

  3.   

    createprocess的时候指定父子进程。。
      

  4.   

    楼上能不能说的具体点,最好有具体的代码.
    还有我要怎样向EXE(B,C,D)发送消息过去,让它们停止服务并退出.
      

  5.   

    B,C,D做成dll,不行的话,B,C,D要入注了(用CreateRemoteThread  API),WinNT下隐藏B,C,D进程并不是很容易的事
    或者将进程注册为系统的一个名为Service的服务进程.
    参考http://dncq.bokee.com/
    非完全隐藏,隐藏界面就行了,指定CreateProcess的SW_HIDE,STARTF_USESHOWWINDOW
      

  6.   

    to:seu07201213(【卐】〖汪洋中的一片叶子〗≈^︵^≈) 我用你说得的方法,将STARTUPINFO 设置之后,启动程序A后,EXE(B,C,D)的窗口仍然出现在桌面上,并没有隐藏.能否给出具体的代码.
      

  7.   

    例如:
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    GetStartupInfo(&si);
    si.dwFlags=STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW;
    si.cb=sizeof(si); 
    si.wShowWindow = SW_HIDE;
    CreateProcess(NULL, "ping www.baidu.com -t", NULL, NULL, TRUE, NULL, NULL, NULL, &si, &pi); // 创建子进程