小弟最近 在程序中用ShellExecuteEx打开了一个.exe的应用程序,在我所打开的应用程序中也用到了ShellExecuteEx打开一个.wav的文件,
这是由系统自动用mediaplayer打开的,可是mediaplayer播放完音频后并没有关闭,我想在程序中让mediaplayer播放
完.wav音频文件后就自己关闭,请教各位高人!
SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = "c:\\MyProgram.exe";
ShExecInfo.lpParameters = "";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
使用多媒体API函数waveOut播放才能控制这个的操作,参考:http://hi.baidu.com/swordbroken/blog/item/8375aa56f9f951030df3e30b.html
如果的确要使用ShellExecuteEx,那只能是关那个进程(给进程发一个退出消息WM_QUIT,或杀掉那个进程)