Die Funktion `WM_CAP_DRIVER_CONNECT` wird in der Windows-API verwendet, um eine Verbindung zu einem Capture-Treiber herzustellen. Diese Funktion ist Teil der Video Capture API (VFW - Video for Windows). Um ein bestimmtes Gerät direkt auszuwählen, musst du den Index des Geräts angeben, das du verbinden möchtest. Hier ist ein Beispiel, wie du die Funktion verwenden kannst: 1. **Initialisiere das Capture-Fenster:** Erstelle ein Capture-Fenster mit der Funktion `capCreateCaptureWindow`. ```c HWND hWndC = capCreateCaptureWindow( "Capture Window", // Fenstername WS_CHILD | WS_VISIBLE, // Fensterstil 0, 0, 320, 240, // Position und Größe hWndParent, // Handle des übergeordneten Fensters 0); // Fenster-ID ``` 2. **Verbinde das Capture-Fenster mit dem Treiber:** Verwende die Nachricht `WM_CAP_DRIVER_CONNECT`, um das Capture-Fenster mit einem bestimmten Treiber zu verbinden. Der Parameter `wIndex` gibt den Index des Treibers an (beginnend bei 0). ```c if (SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, (WPARAM)wIndex, 0L)) { // Verbindung erfolgreich } else { // Verbindung fehlgeschlagen } ``` Hier ist ein vollständiges Beispiel in C: ```c #include <windows.h> #include <vfw.h> int main() { HWND hWndParent = GetConsoleWindow(); // Handle des übergeordneten Fensters HWND hWndC = capCreateCaptureWindow( "Capture Window", // Fenstername WS_CHILD | WS_VISIBLE, // Fensterstil 0, 0, 320, 240, // Position und Größe hWndParent, // Handle des übergeordneten Fensters 0); // Fenster-ID if (hWndC) { int wIndex = 0; // Index des Geräts (0 für das erste Gerät) if (SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, (WPARAM)wIndex, 0L)) { // Verbindung erfolgreich // Hier kann der Capture-Vorgang gestartet werden } else { // Verbindung fehlgeschlagen } } return 0; } ``` In diesem Beispiel wird ein Capture-Fenster erstellt und versucht, es mit dem ersten verfügbaren Capture-Treiber zu verbinden. Der Index `wIndex` kann geändert werden, um ein anderes Gerät auszuwählen.