在vc中(exe文件)调用外部的dll或exe程序(可能有界面、也可能没有界面),怎样判断被调用的外部程序已彻底运行结束?谢谢!

解决方案 »

  1.   

    BOOL GetExitCodeProcess(
      HANDLE hProcess,     // handle to the process
      LPDWORD lpExitCode   // termination status
    );如果还在运行,lpExitCode   得到的是STILL_ACTIVE
      

  2.   

    对于DLL来说,因为你的主EXE在调用它,它什么时候结束,做为调用者的你来说应该是十分清楚的.对于EXE来说,你的主EXE进程中多半是用CreateProcess去执行它的,所以在你的主EXE中可以使用WaitForSingleObject()去等,也可以象楼上所说的那样,在需要的时候用GetExitCodeProcess去查.