Witam!
Mam program jaki pobiera obraz z kamery na USB
przechwytuje go:
hWnd=capCreateCaptureWindow((LPSTR)"Nazwa",WS_CHILD|WS_VISIBLE,0, 0,640,480,(HWND)Form1->Panel1->Handle,0);
capDriverConnect(hWnd,0);
capPreviewRate(hWnd,200);
capPreview(hWnd,true);
Potem zapisuje do pliku
capEditCopy(hWnd);
TClipboard *pCB = Clipboard();
if (pCB->HasFormat(CF_BITMAP))
{
Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
try
{
pBitmap->LoadFromClipboardFormat(CF_BITMAP, pCB->GetAsHandle(CF_BITMAP), 0);
pBitmap->Assign(Clipboard());
String plik = nazwa;
TJPEGImage* j = new TJPEGImage;
j->Assign(pBitmap);
j->CompressionQuality=70;
j->Compress();
j->SaveToFile(plik.c_str());
j->Free();
}
catch (...)
{
MessageBeep(0);
}
delete pBitmap;
}
else
MessageBeep(0);
I wszystko było by ok, gdyby nie fakt, ze jak program jest w tray'u
to się wszystko sypie i do pliku nic nie zapisuje...
Czy to problem z hWnd? Jak to rozwiazać?
Pozdrawiam ;)