Я делаю программу на C # для подключения к веб-камере и выполнения некоторых манипуляций с ней.
У меня есть рабочее приложение, которое использует win32 api (avicap32.dll) для подключения к веб-камере и отправки на нее сообщений, которые отправляют в буфер обмена. Проблема в том, что, несмотря на то, что доступ к нему можно получить из краски, чтение его из программы приводит к нулевым указателям.
Это код, который я использую для подключения веб-камеры:
mCapHwnd = capCreateCaptureWindowA("WebCap", 0, 0, 0, 320, 240, 1024, 0);
SendMessage(mCapHwnd, WM_CAP_CONNECT, 0, 0);
SendMessage(mCapHwnd, WM_CAP_SET_PREVIEW, 0, 0);
И вот что я использую, чтобы скопировать изображение в буфер обмена:
SendMessage(mCapHwnd, WM_CAP_GET_FRAME, 0, 0);
SendMessage(mCapHwnd, WM_CAP_COPY, 0, 0);
tempObj = Clipboard.GetDataObject();
tempImg = (System.Drawing.Bitmap)tempObj.GetData(System.Windows.Forms.DataFormats.Bitmap);
Есть некоторая проверка ошибок, которую я удалил из кода, чтобы сделать ее короче.
Заранее спасибо:)