读书人

vb.net 怎么调用摄像头或数码相机保存

发布时间: 2012-05-02 15:36:04 作者: rapoo

vb.net 如何调用摄像头或数码相机保存照片
请高手帮忙,小弟有些问题一直不解,如何用摄像头和数码相机获取照片,不同牌子不同型号的摄像头或相机是否可以在一个程序下通用?我在网上找段代码但会出错,不知道是不是因为我的摄像头型号的问题?我用的代码是

VB.NET code
Public Class Cam    Private Const WM_USER As Integer = &H400    Private Const WS_CHILD As Integer = &H40000000    Private Const WS_VISIBLE As Integer = &H10000000    Private Const WM_CAP_START As Integer = WM_USER    Private Const WM_CAP_STOP As Integer = WM_CAP_START + 68    Private Const WM_CAP_DRIVER_CONNECT As Integer = WM_CAP_START + 10    Private Const WM_CAP_DRIVER_DISCONNECT As Integer = WM_CAP_START + 11    Private Const WM_CAP_SAVEDIB As Integer = WM_CAP_START + 25    Private Const WM_CAP_GRAB_FRAME As Integer = WM_CAP_START + 60    Private Const WM_CAP_SEQUENCE As Integer = WM_CAP_START + 62    Private Const WM_CAP_FILE_SET_CAPTURE_FILEA As Integer = WM_CAP_START + 20
略...
提示错误代码"对 PInvoke 函数“tv!tv.Cam::SendMessage”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。"

[解决办法]
沙发啊,多年没做了。
[解决办法]
一般情况通用摄像头都是同的windows自带的驱动。如果这样,你写的程序是可以通用的。
也有很多摄像头自己有驱动,但好像也可以用那个系统的通用驱动,只是画质等有所影响,需要测试。
我以前做了一个,也是从网上搜了一段代码,貌似和你得差不多。
你自己在调一下,可能API的参数类型等有问题。
good luck !
[解决办法]
学习
[解决办法]
帮顶.
[解决办法]
引用楼主 yjqmaster 的帖子:
原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。

[解决办法]
引用楼主 yjqmaster 的帖子:
"对 PInvoke 函数“tv!tv.Cam::SendMessage”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。"

[解决办法]
关注
[解决办法]
学习

读书人网 >VB Dotnet

热点推荐