C#视频监控系列(15):总结贴——可能用到的C# WinForm技术小结

正文

1.IntPtr转换成byte[]

public byte[] ConvertToBytes(IntPtr dataBuf, int length)
{
byte[] byteBuf = new byte[length];
Marshal.Copy(dataBuf, byteBuf, 0, length);
return byteBuf;
}

2.读写 INI文件

一般用于读写配置文件

/// <summary>
/// 读写INI文件
/// </summary>
public class IniFile
{
/// <summary>
/// 文件INI名称
/// </summary>
public string Path;

/// <summary>
/// 声明读写INI文件的API函数
/// </summary>
/// <param name="section"></param>
/// <param name="key"></param>
/// <param name="val"></param>
/// <param name="filePath"></param>
/// <returns></returns>
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

[DllImport ("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

/// <summary>
/// 类的构造函数,传递INI文件名
/// </summary>
/// <param name="inipath"></param>
public IniFile(string inipath)
{
//
// TODO: Add constructor logic here
//
Path = inipath;
}

/// <summary>
/// 写INI文件
/// </summary>
/// <param name="Section"></param>
/// <param name="Key"></param>
/// <param name="Value"></param>
public void IniWriteValue(string Section, string Key, string Value)
{
WritePrivateProfileString(Section, Key, Value, this.Path);

}

/// <summary>
/// 读取INI文件指定
/// </summary>
/// <param name="Section"></param>
/// <param name="Key"></param>
/// <returns></returns>
public string IniReadValue(string Section, string Key)
{
StringBuilder temp = new StringBuilder(5000);
int i = GetPrivateProfileString(Section, Key, "", temp, 5000, this.Path);
return temp.ToString();

}
}

时间: 2024-11-01 21:27:53

C#视频监控系列(15):总结贴——可能用到的C# WinForm技术小结的相关文章

C# 视频监控系列

C#视频监控系列(15):总结贴--可能用到的C# WinForm技术小结 C#视频监控系列(14):总结贴--VC++代码转成C#小结 C#视频监控系列(13):H264播放器--控制播放和截图 C#视频监控系列(12):H264播放器--播放录像文件 C#视频监控系列(11):H264播放器--封装API[HikPlayM4.dll] C#视频监控系列(10):服务器端 - 验证.设置画面质量.字幕叠加 C#视频监控系列(8):服务器端--预览和可被客户端连接 C#视频监控系列(7):服务器

C# 视频监控系列 序 [完]

前言      对于视频监控系统大家应该是不陌生的,实施的路况信息.地铁.银行柜台.大型商场.监狱等等场景都能看到它的影子.而当前关于视频监控的开发仍然是以VC++和Delphi为主,本系列文章将完整展示从采购到用C# WinForm技术实现所有功能和步骤.   注意      本系列文章限于学习交流,注重过程,由于涉及公司,所以不提供源代码下载,非常抱歉!!但是请大家放心,核心.实现以及其他能够贴出来的代码我都会贴出来,并且争取尽所能的回答留言里的每一个问题,感谢大家关注,欢迎交流 :)  

C# 视频监控系列(10):服务器端——验证、设置画面质量、字幕叠加、板卡序列号

前言      本章将服务器端几个非主要但常用的功能分享一下.   注意      本系列文章限于学习交流,注重过程,由于涉及公司,所以不提供源代码下载,非常抱歉!!但是请大家放心,核心.实现以及其他能够贴出来的代码我都会贴出来,并且争取尽所能的回答留言里的每一个问题,感谢大家关注,欢迎交流 :)   系列      1.     C# 视频监控系列(1):准备      2.     C# 视频监控系列(2):客户端--封装API      3.     C# 视频监控系列(3):客户端--连

C# 视频监控系列(1):准备

前言 偶尔的机会接触视频监控,一开始的也是无头苍蝇,买书,跑了几趟中关村买设备,找朋友帮忙接线,测试摄像头,总算是把 海康SDK开发包里面的示例跑起来了!接下来又在源码网站.用Google疯狂的找代码,不是VC++的就是Delphi的源码(本人Delphi不会,VC++能 看懂点点-_-#),最后算是找到了一个C#版开发的客户端文章,结果运行出错!跑到海康官方网站问也没人鸟,怒了!!冷静下来看自带的 VC++客户端代码,看得出他也是调用的标准接口,只是使用VC++来调罢了,所以想干脆直接把自带V

C#视频监控系列(6):服务器端——封装API(上) [HikServer.dll]

前言 写系列文章的时候[前言]部分变得无言了,可能来得顺利了点吧: ) 本章中提供的封装均是我用笨办法从<<Hikvision 板卡网络开发包编程手册V4.7>>和<<DS-4000HC.HCS.HC+.HF.HS.MD卡的Windows编程指南V4.3>>中拷贝出来并参照 VC++代码进行整理的,主要是针对HikServer.dll和DS40xxSDK.dll的调用封装. 正文 1.HikServer.dll using System; using Sys

C# 视频监控系列(2):客户端——封装API

前言 本章主要是在C#封装的海康DVR客户端SDK 的代码上修改的,并参考<Hikvision 板卡网络开发包编程手册V4.7.pdf>补上更完 整的注释,并且参照VC++源码做了小部分修改. 参考 1.C#封装的海康DVR客户端SDK 注意 本系列文章限于学习交流,注重过程,由于涉及公司,所以不提供源代码下载,非常抱歉!!但是请大家放心,核心.实现以 及其他能够贴出来的代码我都会贴出来,并且争取尽所能的回答评论里的每一个问题,感谢大家关注,欢迎交流 :) 正文 本章主 要是贴封装好的API调

C#视频监控系列(8):服务器端——预览和可被客户端连接

前言 在客户端相关的文章还没有写出来的时候,服务器端已经差不多了,没有很及时的把文章一篇接一篇的写是有理由的 --有些功能我项目中暂时没有加入,只是对照API知道有这个功能,边写文章边做例子,这样一来发现有些API封装的不对,所以 把这系列的文章写的速度都放慢了,以求尽量每一篇文章都正确.当然还是免不了找借口说太忙,现在在写播放器部分的代码,进展目前看来 还顺利: ) 正文 一.VC++ Demo里关于这两个功能的实现和分析 基本上每段代码都可以从OnInitDialog这个方法开始分析 1.1

C#视频监控系列(14):总结贴——VC++代码转成C#小结

前言 原计划是再写一篇H264播放器转换AVI的文章才开始写总结的,至今未能成功,由于时间问题并且也暂时没有这个需求,所以决 定从原计划中去掉这一章节直接进入总结贴,然后结束这个系列文章.如果公司这边不出什么意外,可能稍候1-2月会把后续的功能作为本系列 的续集来分享给大家,请谅解! 正文 1.使用Marshal.AllocHGlobal(使用 GlobalAlloc 从进程的非托管内存中分配内存)创建 IntPtr,用完之后记得用Marshal.FreeHGlobal释放内存,否则如此该方法处

C#视频监控系列(11):H264播放器——封装API[HikPlayM4.dll]

前言 当你认真的写完客户端和服务器端的时候可能不需要再继续往下看关于播放器的代码和说明,因为你已经掌握了如何转换VC++ 代码的技巧了,加上GOOGLE再来完成这个播放器应该算小菜了.但是作为我的系列,我还是有必要认真的将这部分写完才算完整,和前面一样 ,先贴封装好的API. 正文 HikPlayM4.dll源码见附件 结束 和前面一样注意API可能存在误差,随后的文章将保持本文的更新!! 附件