|
我是在我的应用中打开SD卡中的tcpmp.exe的,我的目的是整个操作过程tcpmp的界面永远隐藏的,也就是在背景中播放,
今天看了一天源码中的interface部分,还是没看明白流程,我是调用下面Player_start(TCHAR* pszPlayerPath,TCHAR* pszFilePath)
函数来打开tcpmp的,但是打开以后tcpmp总在最顶层,把我应用的界面挡住了,我SetWindowPos把我的应用窗口设为HWND_TOP也不行,
把tcpmp窗口设为HWND_BOTTOM也没变,修该TCPMP的interface.c中的Command(intface* p,int Cmd)函数, 把case MSG_INIT:
SetForegroundWindow(p->Win.Wnd)改为ShowWindow(p->Win.Wnd, SW_HIDE)后,倒是隐藏了,可是它是先打开再隐藏的,界面闪了一下,
不知道有什么办法,修改哪个地方能让我打开tcpmp的时候就把它初始化为隐藏的?
DWORD CPlayerCtrl::Player_start(TCHAR* pszPlayerPath,TCHAR* pszFilePath)
{
PROCESS_INFORMATION procInfo;
BOOL bRet;
if(pszPlayerPath == NULL)
return -1;
bRet = CreateProcess(pszPlayerPath, //tcpmp.exe 's fullpath
pszFilePath, // mp3's fullpath
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
NULL,
&procInfo);
if (bRet == 0) {
return -1;
}
CloseHandle(procInfo.hProcess);
CloseHandle(procInfo.hThread);
return 0;
} |
|