2010-02-11 85 views

回答

1

看起来像你的代码拉起你的相机的道具页。我只能得到这个属性页来显示我是否明确编写代码来完成它。你如何获得图像?图形 - > CaptureGraphBuilder2 + SampleGrabber - > SampleGrabberCB?

+0

是的,这只是我的方式... 我是新来的DirectShow,所以我下载了一些示例代码 从相机抓取图像。我没有很好的理解它是如何工作的。 你如何明确编写代码来显示此屏幕? – ttkalec 2010-02-12 06:23:49

+0

在这里,我在我的开源项目中这样做:http://wpfmediakit.codeplex.com/SourceControl/changeset/view/40116#25940 看看ShowCapturePropertyPages(...)方法,并按照PropertyPageHelper.cs – 2010-02-12 06:57:20

+0

非常感谢!它帮助:) – ttkalec 2010-02-12 09:15:20

1

你可以使用Win32 FindWindow函数命令来找到它,然后发送一个WM_COMMAND按下OK按钮?如果你想要做的更“正确”的方式(尽管我的经验来自C++的结束,但我假设它非常相似),你可能想要找到视频捕捉过滤器。一旦你找到了你可以查询接口,看看你是否可以访问它的IPropertyPage(IIRC)接口。如果你可以,那么你应该只能调用Deactivate。

唉,我没有访问此刻一个摄像头,所以我不能检查究竟是如何做到这一点...

是否使用了ICaptureGraphBuilder?如果是这样,那么值得学习如何枚举所有设备并将它们连接在一起。它会让你更好地理解发生了什么:)

+0

这听起来对我来说更像一个黑客... 我一定会尝试它,但是,我对 感兴趣什么是触发窗口显示? 它是DirectShow的窗口还是内部Windows属性窗口? 无论我连接到什么相机,它都会弹出,所以它的 与特定摄像头无关。 – ttkalec 2010-02-11 20:04:54