Така че видях много хора със същия проблем, но без отговори. Моето изскачащо съобщение SendMessage показва диалоговия прозорец „Източник на видео“ на лаптоп с Windows 7 с една камера. Имам инсталиран Cyber Link YouCam.
Ако деинсталирам Cyber Link YouCam, диалоговият прозорец „Източник на видео“ изчезва. Изглежда, че операционната система действа така, сякаш YouCam е втори драйвер за същото устройство. Въпросът ми е как да спра диалоговия прозорец за "Видео източник" да не се показва? След като избера опция в диалоговия прозорец, не получавам диалоговия прозорец (докато не рестартирам приложението), така че някъде трябва да има зададена настройка.
Въпреки че отстраняването на грешки установи, че този код (вижте целия раздел по-долу) е този, който изглежда е този, който извиква диалоговия прозорец - SendMessage (deviceHandle, WM_CAP_CONNECT, deviceno, ((IntPtr) 0).ToInt32 ())
public void StartWebCam (int height, int width, int handleofthepicturebox, int deviceno)
{
string deviceIndex = "" + deviceno;
deviceHandle = capCreateCaptureWindowA (ref deviceIndex, WS_VISIBLE | WS_CHILD, 0, 0, width, height, handleofthepicturebox, 0);
if (SendMessage (deviceHandle, WM_CAP_CONNECT, deviceno, ((IntPtr) 0).ToInt32 ()) > 0)
{
SendMessage (deviceHandle, WM_CAP_SET_SCALE, -1, 0);
SendMessage (deviceHandle, WM_CAP_SET_PREVIEWRATE, 0x42, 0);
SendMessage (deviceHandle, WM_CAP_SET_PREVIEW, -1, 0);
}
else
{
// nothing failed maybe some clean up needed
}
}
Така че отново въпросът е - как да спра диалоговия прозорец за "Видео източник" да не се показва?