这段程序问题究竟出在哪?

来源:百度知道 编辑:UC知道 时间:2024/05/11 01:26:32
Private Sub Form_Load()
Dim ipszname As String * 100
Dim ipszver As String * 100
Dim Caps As CAPDRIVERCAPS
'创建捕捉窗口
capGetDriverDescriptionA 0, ipszname, 100, ipszver, 100
lwndc = capCreateCaptureWindowA(ipszname, WS_CHILD Or WS_VISIBLE, 0, 0, 160, 120, Me.hWnd, 0)
'获取驱动程序
capDriverConnect lwndc, 0
capDriverGetCaps lwndc, VarPtr(Caps), Len(Caps)
'如果未找到驱动程序
If Caps.fHasDlgVideoSource = 0 Then mnusource.enable = flase '来源不显示
If Caps.fHasDlgVideoFormat = 0 Then mnuformat.enable = flase '设置
If Caps.fHasDlgVideoDisplay = 0 Then mnudisplay.enable = flase '播放
'设置视频流回调函数
capSetCallbackOnVideoStream lwndc, addressofmyvideostreamcallback
capSetCallbackOnFrame lwndc, addressofmyframecallback
'设置预览的速率
capPreviewRate lwndc, 66
'开始预览捕捉的视频
capPreview lwndc, True
resizecapturewindow lwndc
End Sub

出现的结果是:编译错误,用户定义类型未定义
出错的位置是在:Dim Caps As CAPDR

我知道你为什么要Dim Caps As CAPDRIVERCAPS
这样定义
我是这样定义的CAPDRIVERCAPS gCapDrvCaps;
只要你在LINK里加了vfw32.lib,并且文件头有#include "vfw.h",和#pragma comment(lib,"vfw32")这个定义就能被识别

这个CAPDRIVERCAPS 到底是什么东西?自定义类型还是自定义类?
没有引用吧?