usb hid传输数据,根据读出来的数据某一位控制flash的播放
ULONG gDataLen = 0;
BYTE gData[1024];
UINT ReadDataThread(LPVOID lpVoid)
{
TCHAR strArray[500];
int nLen=::GetCurrentDirectory(500,strArray);
if(strArray[nLen]!='\\')
{
strArray[nLen++]='\\';
strArray[nLen]='\0';
}
CString strFileName=strArray;
CString FileName=strFileName+"config.ini";
CString logoName,mainName,strName;
while(1)
{
if(!This->m_hidtools.ReadHID(gData,gDataLen))
return -1;
if(gDataLen>0)
{
CString str,t;
ULONG i;
for(i=0;i<gDataLen;i++)
{
if(gData[i+3]==0x10)
{
GetPrivateProfileString("RES","logo",0,logoName.GetBuffer(MAX_PATH),MAX_PATH,FileName);
strFileName.Insert(strFileName.GetLength(),logoName);
This->m_ShockwaveFlash.LoadMovie(0,strName);
This->m_ShockwaveFlash.Play();
}
t.Format("%02x ",gData[i]);
str += t;
if(0==(i+1)%9)
str += "\r\n";
}
if(Dlg)
{
Dlg->m_edithid.GetWindowText(t);
if(t.GetLength()>CLSLEN)
t="";
t += str;
Dlg->m_edithid.SetWindowText(t);
Dlg->m_edithid.LineScroll(Dlg->m_edithid.GetLineCount());
}
if(gDataLen<9)
continue;
for(i=0;i<gDataLen;i+=9)
{
if(gData[i+1] == 0x55)
{
if(gData[i+3]==0x10)
{
GetPrivateProfileString("RES","logo",0,logoName.GetBuffer(MAX_PATH),MAX_PATH,FileName);
strFileName.Insert(strFileName.GetLength(),logoName);
This->m_ShockwaveFlash.LoadMovie(0,strName);
This->m_ShockwaveFlash.Play();
}
if(gData[i+3]==0x11)
{
GetPrivateProfileString("RES","main",0,mainName.GetBuffer(MAX_PATH),MAX_PATH,FileName);
strFileName.Insert(strFileName.GetLength(),mainName);
This->m_ShockwaveFlash.LoadMovie(0,strName);
This->m_ShockwaveFlash.Play();
}
PostMessage(This->m_hWnd,MM_HIDMSGARR,gData[i+2],0);
}
}
}
}
return 0;
}现在想通过读出来的数据控制播放哪个播放器,红色部分不能实现播放,请问该如何写才能实现,请求大神指点!感谢啦