| 发表于:2007-12-08 13:14:021楼 得分:0 |
private declare function capcreatecapturewindow lib "avicap32.dll" alias "capcreatecapturewindowa" (byval lpszwindowname as string, byval dwstyle as long, byval x as long, byval y as long, byval nwidth as long, byval nheight as long, byval hwndparent as long, byval nid as long) as long sub get_capturewindow(optional byval nm as long = 0) '建立一个可抽取的窗口 'nm 为,若不只一个抽取装置的话,指定装置代号 caphwnd = capcreatecapturewindow("", ws_child or ws_visible, 0, 0, 160, 120, screen.activeform.hwnd, 0) call connect_capturedriver(nm) end sub function connect_capturedriver(byval ndriverindex as long) as boolean '链接到抽取装置 dim retval as boolean dim caps as capdrivercaps dim i as long 'debug.assert (ndriverindex < 10) and (ndriverindex > = 0) '链接到抽取窗口的界面 retval = sendmessage_long(caphwnd, wm_cap_driver_connect, ndriverindex, 0&) if retval = false then exit function '返回抽取界面的能力 retval = sendmessage_any(caphwnd, wm_cap_driver_get_caps, len(caps), caps) '设置每毫秒预览的速度 call set_previewrate(caphwnd, 66) '15 fps '激活摄影机的预览图像 call set_preview '重新调整抽取窗口为全部占满图像 call resizecapturewindow connect_capturedriver = true end function 用这个创建一个视频窗口,创建失败的话应该就是使用中了吧…………没测试过………… | | |
|