Так что видел массу людей с той же проблемой, но без ответов. Мой 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
}
}
Итак, снова вопрос: как мне остановить появление диалогового окна «Источник видео»?