如何得知 PCcamera 已拔除 |
尚未結案
|
bearmaster
一般會員 發表:36 回覆:45 積分:16 註冊:2004-05-27 發送簡訊給我 |
請教各位大大:
我已能將preview的影像正確的顯示在panel上,
但在preview時若拔除PCcamera 則程式會當掉,
我有試過Microsoft的AMCAP程式, 也是如此.
我想在程式中加入 Timer 來偵測, 但是不知道
該使用什麼function, 我有試過用 capGetStatus
但程式仍然會當掉, 仍然無法偵測到拔除.以下
是我的程式, 請各位大大幫幫忙. void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form1->DoubleBuffered=true;
hCapWnd = capCreateCaptureWindow("Cap Window",
WS_CHILD | WS_VISIBLE,
0, 0, 640, 480,
Form1->Panel2->Handle, 0 );
capDriverConnect( hCapWnd, 0);
capOverlay(hCapWnd, true);
capPreview(hCapWnd, true);
capPreviewScale(hCapWnd,true);
capPreviewRate(hCapWnd, 1000/30);
capGetVideoFormat(hCapWnd, &bmi, sizeof(BITMAPINFO));
SetWindowPos(hCapWnd,0,0,0,640,480,0);
Panel2->Visible=true; Timer1->Enabled=TRUE;
} void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
CAPSTATUS *capstatus= new CAPSTATUS;
capGetStatus(hCapWnd , capstatus, sizeof(CAPSTATUS));
if(!capstatus->fLiveWindow) capDriverDisconnect(hCapWnd);
if(!capstatus->fCapturingNow) capDriverDisconnect(hCapWnd);
}
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |