如何在A程序中运行另外一个B程序(两者都是WINDOWS程序),并且B程序的参数由A提供,由A关闭,例如打开文件等等,这里牵涉到子进程等问题。有没有大虾能详细介绍一下,感激不尽!

解决方案 »

  1.   

    在A中创建B这个子进程,同时开一个匿名管道,将参数传递给B就可以了
      

  2.   

    可以用消息队列、命名管道。
    消息队列一般用于父进程和子进程之间的通讯。
    命名管道可以与其它任何进程通讯。
    创建管道CreateNamedPipe
    连接管道CreateFile
    关闭管道CloseHandle
    读管道ReadFile
    写管道WriteFile
      

  3.   

    可以用消息队列、命名管道。
    消息队列一般用于父进程和子进程之间的通讯。
    命名管道可以与其它任何进程通讯。
    创建管道CreateNamedPipe
    连接管道CreateFile
    关闭管道CloseHandle
    读管道ReadFile
    写管道WriteFile
      

  4.   

    http://www.codeproject.com/system/shelexec.asp
    http://www.codeproject.com/system/newbiespawn.asp
      

  5.   

    1、利用CreateProcess创建子进程,在lpCommandLine参数中传入命令行参数。在lpProcessInformation中返回子进程句柄及子进程的主线程句柄。2、WaitForInputIdle等待子进程完成初始化,并接着利用NamedPipe或者WM_COPYDATA消息相互通讯。3、用PostThreadMessage向子进程的主线程句柄发送WM_QUIT消息,或者利用FindWindow得到主窗口句柄发送WM_CLOSE消息关闭子进程。4、调用CloseHandle关闭子进程句柄及子进程的主线程句柄。