2012-10-06 50 views
0

大家好,我正在創建一個消息應用程序,但只要應用程序從我的攝像頭中抓取圖片,它就會顯示一個窗口來選擇相機,攝像頭沒有顯示相機窗口的snapp-shot c#Vista,Windows 7

[DllImport("user32", EntryPoint = "SendMessage")] 
static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam); 
[DllImport("avicap32.dll", EntryPoint = "capCreateCaptureWindowA")] 
static extern int capCreateCaptureWindowA(string lpszWindowName, int dwStyle, 
    int X, int Y, int nWidth, int nHeight, int hwndParent, int nID); 
const int WM_CAP_CONNECT = 1034; 
const int WM_CAP_DISCONNECT = 1035; 
const int WM_CAP_COPY = 1054; 
const int WM_CAP_GET_FRAME = 1084; 

這個API可以在Windows XP中有一個服務應用程序,所以我創建的服務應用程序,它管與appliaction溝通和傳遞以字節爲單位的圖片,但注意它只能在Windows XP中

我怎麼能趕上沒有這個窗口的攝像頭圖片在Windows Vista中使用一些API,7,8

謝謝B.

回答

0

您所指的API(Video for Windows)不應該沒有窗口運行。然而,窗口不需要可見,您也可以將其移出工作區域。它不需要繪製實際捕獲的視頻,窗口的目的是與API進行通信。所以它也可以在Window 7中使用,當然如果你有這些操作系統的良好操作驅動程序。

你可能想看的其他API是DirectShow和Media Foundation。 DirectShow是Windows API中最豐富和最好兼容的版本,您可以執行主題中提到的任務(捕獲而不顯示)。從C#開始,您通常通過DirectShow.NET庫/綁定來處理它,並且它有合適的樣本可以在網站上查看。