我现在是自己写一个界面程序来调用一个播放器程序,用消息管道进行两个进程之间通信。由于有些坏的电影片段,或外部环境会使播放器的进程死掉或者崩溃死循环状态,那么界面这边的进程如何控制这个情况,使得如果播放器有死掉或崩溃死循环状态就停止播放器进程??
消息通信的源码如下:
DWORD playThread(LPVOID lpThreadParameter)
{
DWORD ReadNum;
         while (ReadFile(hpipeRead, ReadBuf, BUFFER_SIZE , &ReadNum, NULL)) 
{
ReadBuf[ReadNum] = '\0'; 
UpdatePosition();//更新播放进度条
}
bplay = FALSE;//播放完毕的标志置为FALSE
return 1;
}
其中hpipeRead是消息管道的读句柄,ReadBuf是从播放器读得的数据。
当播放器进程死掉和崩溃时,界面这边都不能即时监测,使得重复播放一小段的问题。特别时播放器崩溃陷入死循环时,这边的ReadFile也陷入了死循环。请问如何优化这个播放线程能够当播放器死掉和崩溃时界面这边比较好的处理??
请各位大侠执教!!!!