windows - 网络摄像头,视频源对话框出现

标签 windows winforms video camera webcam

所以看到很多人有同样的问题但没有答案。我的 SendMessage 在带有一个摄像头的 Windows 7 笔记本电脑上弹出“视频源”对话框。我安装了 Cyber​​ Link YouCam。 'Video Source' dialog box

如果我卸载 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
            }

        }

那么问题又来了 - 如何停止显示“视频源”对话框?

最佳答案

我在 Windows XP 上使用 avicap32 开发了一个表格来显示两个实时捕获。我在我的案例中找到的修复方法可能也适用于您的案例。

在 avicap 的情况下,可以通过编程方式管理您的网络摄像头,并且所有这些都是基于注册表的。这是 the thread我找到了指导我并实现我想要的东西。

在此线程中,突出显示了 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaResources\msvideo\MSVideo.VFWWDM\DevicePath 注册表项的作用,用于选择事件网络摄像头。

这可能是一条有用的信息:我必须将值设置为小写以避免弹出视频源对话框。

我通过在使用 WM_CAP_CONNECT 调用 SendMessage 之前和之后监视注册表项来确定它。

据我所知(和谷歌搜索),没有其他人提供修复程序,所以即使我回答的时间可能有点晚,但如果你能告诉我们它是否也适用于你,那就太好了。

关于windows - 网络摄像头,视频源对话框出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10721085/

相关文章:

windows - 真正杀死Windows中的进程

c# - 为什么Windows.Forms.Timer的时间间隔随着tick的增加而减少?

c# - 图像变量到 byte[] 数组

javascript - 如何根据选择框中的选项值更改视频的 src 值

android - 如何在 android 中使用 RTSP 链接直播视频?

在 Windows 上使用 MinGW 编译 Openssl - fatal error : openssl/md4. h:没有这样的文件或目录

c# - 获取鼠标指针下方的窗口句柄,同时忽略半透明窗口

c# - 如何访问 SerialPort.Flush() 和 SerialPort.Finalize() 函数

html - 如何阻止JWPlayer在视频结束时变黑

Python,如何创建以 Windows 或 Linux 风格开始的通用路径名?