请大家看看,我的视频捕捉程序是哪里有问题啊?
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HINSTANCE hLib;
try
{
hLib=LoadLibrary("AVICAP32.DLL");//加载AVICAP32.DLL库
if (NULL == hLib)
{
Application->MessageBoxA("加载库失败,请确保所需库在系统目录下",Application->Title.c_str(),MB_ICONWARNING);
return;
}
typedef HWND __stdcall capCreate(char* pWindowsName,long dwStyle,int x,int y,int nWidth,int nHeight,HWND ParentWin,int id);
capCreate* cap = (capCreate*)GetProcAddress(hLib,"capCreateCaptureWindowA");
HWND hdc = cap("我的视频",WS_CHILD|WS_VISIBLE ,Panel1->Left,Panel1->Top,Panel1->Width,Panel1->Height,Handle,0);
if (NULL != hdc)
{
SendMessage(hdc, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0,0);
SendMessage(hdc, WM_CAP_SET_CALLBACK_ERROR, 0, 0);
SendMessage(hdc, WM_CAP_SET_CALLBACK_STATUSA, 0, 0);
SendMessage(hdc, WM_CAP_DRIVER_CONNECT, 0, 0);
SendMessage (hdc, WM_CAP_SEQUENCE, 0, 0);
SendMessage(hdc, WM_CAP_SET_SCALE, 1, 0);
SendMessage(hdc, WM_CAP_SET_PREVIEWRATE, 66, 0);
SendMessage(hdc, WM_CAP_SET_OVERLAY, 1, 0);
SendMessage(hdc, WM_CAP_SET_PREVIEW, 1, 0);
}
}
__finally
{
FreeLibrary(hLib);
}
}
上面的代码运行后,捕捉到第一个画面后,就死了,请大家看看,哪儿有问题啊?谢谢
问题点数:100、回复次数:4Top
1 楼ralpha08(被水淹死的鱼)回复于 2004-08-01 17:48:59 得分 50
不会了!
不过希望搂主调好之后可以把源码发上来让家学习学习!Top
2 楼zbc(修身养息,百战不怠)回复于 2004-08-01 17:53:29 得分 0
呵呵,如果可以的话,我自然会发了Top
3 楼zbc(修身养息,百战不怠)回复于 2004-08-01 18:08:31 得分 0
呵呵,找到原因了,真是笨,写好后,与大家分享哈Top
4 楼JetKingLau(时差)(亦远亦近)(静坐常思已过 闲谈勿论人非 …………)回复于 2004-08-01 18:10:08 得分 50
恭喜恭喜。到时楼主记得给偶一份,偶准备开始转向这方面。Top




