2010-02-11 51 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