showVideo C#版 摄像头驱动程序
showVideo C#版 摄像头驱动程序
using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace WebCamera { class showVideo { // showVideo calls [DllImport("avicap32.dll")] public static extern IntPtr capCreateCaptureWindowA(byte[] lpszWindowName, int dwStyle, int x, int y, int nWidth, int nHeight, IntPtr hWndParent, int nID); [DllImport("avicap32.dll")] public static extern bool capGetDriverDescriptionA(short wDriver, byte[] lpszName, int cbName, byte[] lpszVer, int cbVer); [DllImport("User32.dll")] public static extern bool SendMessage(IntPtr hWnd, int wMsg, bool wParam, int lParam); [DllImport("User32.dll")] public static extern bool SendMessage(IntPtr hWnd, int wMsg, short wParam, int lParam); [DllImport("User32.dll")] public static extern bool SendMessage(IntPtr hWnd, int wMsg, short wParam, FrameEventHandler lParam); [DllImport("User32.dll")] public static extern bool SendMessage(IntPtr hWnd, int wMsg, int wParam, ref BITMAPINFO lParam); [DllImport("User32.dll")] public static extern int SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int y, int cx, int cy, int wFlags); [DllImport("avicap32.dll")] public static extern int capGetVideoFormat(IntPtr hWnd, IntPtr psVideoFormat, int wSize); // Constants public const int WM_USER = 0x400; public const int WS_CHILD = 0x40000000; public const int WS_VISIBLE = 0x10000000; public const int SWP_NOMOVE = 0x2; public const int SWP_NOZORDER = 0x4; public const int WM_CAP_DRIVER_CONNECT = WM_USER + 10; public const int WM_CAP_DRIVER_DISCONNECT = WM_USER + 11; public const int WM_CAP_SET_CALLBACK_FRAME = WM_USER + 5; public const int WM_CAP_SET_PREVIEW = WM_USER + 50; public const int WM_CAP_SET_PREVIEWRATE = WM_USER + 52; public const int WM_CAP_SET_VIDEOFORMAT = WM_USER + 45; // Structures [StructLayout(LayoutKind.Sequential)] public struct VIDEOHDR { [MarshalAs(UnmanagedType.I4)] public int lpData; [MarshalAs(UnmanagedType.I4)] public int dwBufferLength; [MarshalAs(UnmanagedType.I4)] public int dwBytesUsed; [MarshalAs(UnmanagedType.I4)] public int dwTimeCaptured; [MarshalAs(UnmanagedType.I4)] public int dwUser; [MarshalAs(UnmanagedType.I4)] public int dwFlags; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public int[] dwReserved; } [StructLayout(LayoutKind.Sequential)] public struct BITMAPINFOHEADER { [MarshalAs(UnmanagedType.I4)] public Int32 biSize; [MarshalAs(UnmanagedType.I4)] public Int32 biWidth; [MarshalAs(UnmanagedType.I4)] public Int32 biHeight; [MarshalAs(UnmanagedType.I2)] public short biPlanes; [MarshalAs(UnmanagedType.I2)] public short biBitCount; [MarshalAs(UnmanagedType.I4)] public Int32 biCompression; [MarshalAs(UnmanagedType.I4)] public Int32 biSizeImage; [MarshalAs(UnmanagedType.I4)] public Int32 biXPelsPerMeter; [MarshalAs(UnmanagedType.I4)] public Int32 biYPelsPerMeter; [MarshalAs(UnmanagedType.I4)] public Int32 biClrUsed; [MarshalAs(UnmanagedType.I4)] public Int32 biClrImportant; } [StructLayout(LayoutKind.Sequential)] public struct BITMAPINFO { [MarshalAs(UnmanagedType.Struct, SizeConst = 40)] public BITMAPINFOHEADER bmiHeader; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)] public Int32[] bmiColors; } public delegate void FrameEventHandler(IntPtr lwnd, IntPtr lpVHdr); // Public methods public static object GetStructure(IntPtr ptr, ValueType structure) { return Marshal.PtrToStructure(ptr, structure.GetType()); } public static object GetStructure(int ptr, ValueType structure) { return GetStructure(new IntPtr(ptr), structure); } public static void Copy(IntPtr ptr, byte[] data) { Marshal.Copy(ptr, data, 0, data.Length); } public static void Copy(int ptr, byte[] data) { Copy(new IntPtr(ptr), data); } public static int SizeOf(object structure) { return Marshal.SizeOf(structure); } } }转自:http://www.cnblogs.com/zeroone/archive/2010/04/13/1711189.html
showVideo C#版 摄像头驱动程序相关推荐
- 万能摄像头驱动程序安装
当你的摄像头的驱动光盘找不到时,往往会去在网上下载万能摄像头驱动程序,却在安装时提示需要指定一个驱动地址,而这时候无论你怎么指定驱动的地址,都显示找不到硬件驱动,而且系统设备里显示是未 ...
- MTK平台手机的网络摄像头驱动程序
MTK平台手机的网络摄像头驱动程序 http://www.desaymobile.com.cn/Admin/DownLoad/UploadFiles/MTK.rar
- WinXP下虚拟摄像头驱动程序开发
摄像头驱动程序的主要目的是通过硬件捕捉视频信号.微软公司提供了一套视频驱动的接口,可以满足这个接口的视频驱动程序.第三方厂商开发的软件,如QQ和MSN等软件,都可以通过这个接口读取视频摄像头采集的数据 ...
- 摄像头驱动_摄像头驱动程序必需的11个ioctl及摄像头数据的获取过程
摄像头驱动_摄像头驱动程序必需的11个ioctl及摄像头数据的获取过程 根据虚拟驱动vivi的使用过程彻底分析摄像头驱动 // 1~2都是在v4l2_open里调用 1. open 2. ioctl( ...
- WinXP下虚拟摄像头驱动程序开发 1
WinXP下虚拟摄像头驱动程序开发 摄像头驱动程序的主要目的是通过硬件捕捉视频信号.微软公司提供了一套视频驱动的接口,可以满足这个接口的视频驱动程序.第三方厂商开发的软件,如QQ和MSN等软件,都可以 ...
- Linux下摄像头驱动程序spca5xx和gspca
最近一直忙着作些小实验,头些天做的一些笔记没有来得及整理.先放在word里了,这会实在不是特别想看书,把没有来得及写上的东西补一下. 1 spca5xx和spcaview简单介绍 Lin ...
- linux arm下硬件驱动程序放哪里,Arm-Linux摄像头驱动程序的移植
Arm开发板上摄像头的移植有两种方法:第一,将驱动程序添加到内核,通过编译内核,烧写到板子上:第二种,通过动态加载摄像头驱动模块的方法进行硬件的驱动.作者首先在PC的linux系统进行摄像驱动程序的移 ...
- USB摄像头驱动程序分析
uvc驱动程序主要位于3.42内核\drivers\media\video\uvc文件夹中.由于本身十分复杂,在此只做简单分析. 这幅图来源于UVC的规格书.可以看到一个完整的UVC设备主要分为两个部 ...
- C#.net编写摄像头驱动程序,用avicap32.dll
作者:zzmdegm 转自:http://blog.csdn.net/zzmdegm/article/details/1915364 装了摄像头后一般会有 avicap32.dll文件,没有一样可以用 ...
- UVC摄像头驱动程序框架
前言 USB video class又称为USB video device class or UVC就是USB device class视频产品在不需要安装任何的驱动程序下即插即用,包括摄像头,数字摄 ...
最新文章
- Sitecake – 可视化编辑,所见即所得的 CMS
- 用Python3Request爬取英雄联盟皮肤、单线程爬取
- oracle USER 与 Schema 的关系与区别
- SpringSecurity 权限控制准备之IOC容器结构说明
- 【JavaScript】图片组无缝轮播的网页编写方法
- 9 FI配置-财务会计-维护会计年度变式
- Python中的常用模块
- 使用 data URI scheme 在网页中内嵌图片[转]
- 【Unity基础】Unity打包exe
- SD皇冠毛绒布料材质制作视频教程 中文字幕
- 安卓系统格式化SD卡
- 怎样学好Python
- 数据库实验一:数据库与数据表定义(1)—— 数据库相关操作
- 小程序的大于小于等于的写法
- 2017最新苹果 APPLE ID注册流程
- 如何从视频中分离音频/提取音频/提取视频
- 显著图(Saliency map)
- C++一本通1086(角谷猜想)
- sql语句查询出重复的数据
- 10.从头开始做服务端