学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

摄像头编程大全(源码)

我看过你们几位版主的相片和一些东西。(个别)咱们应该差不多吧。我工作两年。21

[GLOW=255,red,2]for(;;){learn++;}[/GLOW]

TOP

楼主:
运行出错了啊,帮看看吧:

错误提示:
对 PInvoke 函数“pop!ScreenClient.Pick::SendMessage”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。

public void Start()
{
if (bStat)
return;

bStat = true;
byte[] lpszName = new byte[100];

hWndC = capCreateCaptureWindowA(lpszName, WS_CHILD | WS_VISIBLE, mLeft, mTop, mWidth, mHeight, mControlPtr, 0);

if (hWndC.ToInt32() != 0)
{
SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0);//这里出错了!!!

TOP

另外再请问下:视频流怎么转换成MemoryStream?

TOP

WM_CAP_SET_CALLBACK_VIDEOSTREAM定义值了没?我去找找我做的DEMO看看。
[GLOW=255,red,2]for(;;){learn++;}[/GLOW]

TOP

都有啊
private const int WM_USER = 0x400;
private const int WM_CAP_START = WM_USER;
private const int WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START + 6;

是不是我的Form里调用的不对?

private void button1_Click(object sender, EventArgs e)
{
this.panelPreview.Size = new Size(320, 240);
Pick pc = new Pick(this.panelPreview.Handle, this.panelPreview.Left,this.panelPreview.Top,this.panelPreview.Width, this.panelPreview.Height);
pc.Start();

}

TOP

应该是调用不对.不清楚里面的控制指针指的是什么.
实践、学习、再实践、再学习......

TOP

正好要用到这个,谢谢LZ!!!

TOP

斑竹:Demo呢?

TOP

老李的帖子???
这么早的?
翻出来晒晒..
回去研究研究...
msdn == 葵花宝典!!!
QQ:122768959

TOP

......
没注释看疯了都...
我清高和我骄傲的倔强,在风中大声的唱:我不听,我不听~~做我自己最特别,呼呼~~啦啦~~~

TOP

发新话题