byte[] lpszName = new byte[100];
byte[] lpszVer = new byte[100];
          
showVideo.capGetDriverDescriptionA(0, lpszName, 100,lpszVer, 100);
this.lwndC = showVideo.capCreateCaptureWindowA(lpszName, showVideo.WS_VISIBLE + showVideo.WS_CHILD, 0, 0, mWidth, mHeight, mControlPtr, 0);
        
if (this.capDriverConnect(this.lwndC, 0))
{
this.capPreviewRate(this.lwndC, 66);
this.capPreview(this.lwndC, true);
this.capPreviewScale(this.lwndC, 1);
showVideo.BITMAPINFO bitmapinfo = new showVideo.BITMAPINFO(); 
bitmapinfo.bmiHeader.biSize = showVideo.SizeOf(bitmapinfo.bmiHeader);
bitmapinfo.bmiHeader.biWidth = 640;
bitmapinfo.bmiHeader.biHeight = 480;
bitmapinfo.bmiHeader.biPlanes = 1;
bitmapinfo.bmiHeader.biBitCount = 24;
this.capSetVideoFormat(this.lwndC, ref bitmapinfo, showVideo.SizeOf(bitmapinfo));
this.mFrameEventHandler = new showVideo.FrameEventHandler(FrameCallBack);
this.capSetCallbackOnFrame(this.lwndC, this.mFrameEventHandler);
showVideo.SetWindowPos(this.lwndC, 0, 0, 0, mWidth , mHeight , 0);
}其中capDriverConnect(this.lwndC, 1)间接地调用了showVideo.SendMessage(lwnd, showVideo.WM_CAP_DRIVER_CONNECT, i, 0);
其中这个i应该代表摄像头的id号,如果我有两个摄像头,那么第二个摄像头对应的按理来说应该把这个i设置为1,但我实验过了两台机器都是黑屏,请问这是为什么?