要在A程序中先准备数据,
然后调用 C:\path\ 下的 B.exe
在B.exe关闭后
A再进行数据清除。多谢!

解决方案 »

  1.   

    ShellExecute(NULL,"open","c:\\path\\b.exe",NULL,NULL,SW_SHOWNORMAL);
      

  2.   

    调用一个程序很简单,用shellexecute 还不是很明白你的数据清理是怎么样?
      

  3.   

    可以先CreateProcess(..)启动B,数据很短可以直接用命令行传递,多的话用COPYDATA或者其他进程间共享手段,结束时让B给A发通知
      

  4.   

    要在A程序中先准备数据,
    然后调用 C:\path\ 下的 B.exe
    在B.exe关闭后
    A再进行数据清除。
    -------------------------------
    调用现成程序用shellexecute ,
    进程间共享数据可以用ShareMemory(共享内存)
    A.EXE将准备好的数据放入一块共享内存,
    B.EXE启动后就到这块共享内存中获得数据。
      

  5.   

    关键是在B被关闭以前,A.exe不能做后面的事情。数据清理就是删掉一些B.exe要用到的临时文件什么的。
      

  6.   

    CreateProcess后,WaitForSingleObject()等待b.exe的句柄返回,这样就可以等b执行完了
    A接着执行
      

  7.   

    CreateProcess后,WaitForSingleObject()等待b.exe的句柄返回,这样最好。
      

  8.   

    请问 CreateProcess 的各个参数怎么设,特别是最后两个,
    看的不太懂能给个例子吗,多谢~
      

  9.   

    搞定了
             //data prepare
    CWnd *wnd = FindWindow(NULL, filename);
    _spawnlp( _P_WAIT, strFile,strFile,NULL );
             //data clear