自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (1)
  • 收藏
  • 关注

原创 ddraw 显示YUV视频数据

#include "stdafx.h"#include "MyDDraw.h"CMyDDraw::CMyDDraw(void){    m_hShowHwnd = NULL;    m_lpDD = NULL;    m_lpDDSPrimary = NULL;    m_lpDDSOffScr = NULL;    m_lpddsback = NULL; 

2014-10-30 19:24:12 2507

转载 如何使用DirectDraw直接显示YUV视频数据

最近在编写一个进行视频播放的ActiveX控件,工作已经接近尾声,现将其中显示YUV数据的使用DirectDraw的一些经验总结如下:(解码部分不是我编写的,我负责从网络接收数据,将数据传给解码器,并将解码得到的YUV数据进行显示,最初在显示部分我是先将YUV数据转换为RGB数据,再以位图的形式显示到屏幕上,但发现CPU占用率比较高,后来改用DirectDraw直接显示YUV数据)1.在Dir

2014-10-30 17:14:52 1022

转载 如何使用DirectDraw直接显示YUV视频数据

1.在DirectDraw中创建YUV表面  与一般表面不同的是,创建YUV表面时需要指定象素格式,并指定YUV数据的FourCC码,关于FourCC码可以参考微软MSDN站点上的说明,下面是具体的创建方法:(以YUV4:2:0格式为例,其中drawwidth和drawheight是欲显示图像的宽度和高度,以象素为单位)LPDIRECTDRAW7           lpDD;    //

2014-10-30 17:10:10 897

原创 directdraw 显示图像

#include "global.h"/*LPDIRECTDRAW lpDD; //DiectDraw objectLPDIRECTDRAWSURFACE  lpDDSFront;  //DirectDraw 前页 LPDIRECTDRAWSURFACE  lpDDSBrack;  //DirectDraw 后页LPDIRECTDRAWCLIPPER  lpDDClip

2014-10-24 14:40:55 2171 1

转载 JavaScript与ActiveX之间传递数据

本文研究如何在JS等脚本语言与ActiveX控件之间通信,如何传递各种类型的参数,以及COM的IDispatch接口。使用类似的方法,可以推广到其他所有脚本型语言,如LUA,AutoCad等。本文将研究以下几个方面:整型数组传参字符串参数,字符串返回值修改传入字符串内容数组参数IDispatch接口介绍修改输入数组内容增加数组内容以数组传参方式,JS

2014-10-10 10:34:48 599

转载 Linux CGI编程基础

Linux CGI编程基础1.为什么使用CGI? 如前面所见,任何的HTML均是静态网页,它无法实现一些复杂的功能,而CGI可以为我们实现。如:a.列出服务器上某个目录中的文件,对目录中的文件进行操作;b.通过CGI实现串口通讯;c.实现数据库接口;d.实现从摄像头读取一张图片显示在网页上… 等等2. CGI是什么? CGI全称是 Common Gate

2014-10-08 10:56:41 596

转载 字符,字节和编码

字符,字节和编码[原创文章,转载请保留或注明出处:http://www.regexlab.com/zh/encoding.htm]级别:中级摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。

2012-09-27 15:06:06 314

转载 (__cdecl,__stdcall,__fastcall,__pascal)

(__cdecl,__stdcall,__fastcall,__pascal)关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解。        microsoft的vc默认的是__cdecl方式,而windows API则是__stdcall,如果用vc开发dll给其他语言用,则应该指定__stdcal

2012-09-20 17:49:10 388

转载 _STDCALL&_CDECL 调用约定

_stdcall将参数压栈是按C语言的顺序(从右到左),但与C 语言不同的是它是由被调用者将参数从栈中清除的,所以它的编译文件比_cdecl小。_stdcall是Windows API函数中默认的调用约定,VB、VFP等也采用这个约定。     _cdecl是C语言采用的默认调用方法,它的优点是支持printf这样的可变参数调用。     另外,VC++对于两种调用方法的名称转换方法也不同

2012-09-20 17:47:33 1247

转载 函数调用方式--__thiscall调用方式和__cdecl,__stdcall有什么区别

函数调用方式--__thiscall调用方式和__cdecl,__stdcall有什么区别首先,__thiscall是关于类的一种调用方式,它与其他调用方式的最大区别是:   __thiscall对每个函数都增加了一个类指针参数  class   aa     {     void   bb(int   cc);     };     实际上bb的函数原形是void

2012-09-20 16:55:08 518

转载 QNX操作系统

1.       QNX 实时操作系统介绍  QNX 实时操作系统(QNX Real Time Operating System)是由位于加拿大渥太华的QNX软件系统公司开发的一个针对嵌入式应用的微内核操作系统。QNX软件系统公司成立于1981年,在过去的20多年中一直致力于微内核实时操作系统的研究与开发。目前的QNX 实时操作系统已经发展成一个可以使用在严实时应用中的高可靠性实时操作系统

2011-12-19 10:36:00 9255

转载 SQL 中的COLLATE Chinese_PRC_CI_AS的含意

我们在create table时经常会碰到这样的语句,例如:password nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面:首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。语法是collate collation_namecollation_na

2011-12-06 15:39:42 1543

转载 Win7有多条隧道适配器的原因及关闭方法

问题:  我无意中在Windows7 的命令提示符中输入ipconfig /all 发现有30多条隧道适配器的本地连接。  解答:  在Windows7系统中确实这样,这些隧道适配器的本地连接是由系统自动配置生成的。作用是实现IPv4 与IPv6 互相访问。但是,对于基本上只用IPv4 的用户,多个隧道连接没什么用,可以使用netsh 命令关闭Wlndows7 自带的IPv6 隧道

2011-11-27 11:12:53 13400

转载 探索C++的秘密之详解extern "C"

时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #endif   这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一

2011-11-24 14:21:22 429

转载 生成伪随机数的超级算法

最近浏览“程序员论坛”时发现不少好帖,增长了不少知识,现拿其中一则为例与大家共同分享心得。   某人提出一个问题:怎样才能生成一亿个不重复的随机数?  问题表述起来很简单,似乎只要弄明白什么叫随机数以及怎样用电脑生成随机数,就能解决问题。  随机数,个人理解为一定范围内出现的毫无规律的数,比如扔一个骰子,落在桌面上时朝上的一面所表示的数就是随机数,这个数只能在1到6的范围内,但具体是什

2011-11-17 09:40:06 747

转载 安装文件没有修改windows installer的权限是怎么回事,应该怎么解决?

从网上找了不少答案没有太好的。给你一些建议,如果下面的都不能用的话,最好重装系统吧,因为我也遇到过,当时比较急,没时间找解决方法了,5分钟后恢复镜像OK。比找解决方法还快。呵呵附录:第一种方法:首先前提是Windows Installer服务已启用(开始---运行---Services.msc,察看Windows Installer服 务,是否已被停用),然后找到windows/system32/

2011-10-26 16:38:13 1826

转载 用户没有权限安装软件是什么原因?

第一种方法: 问:禁止安装,用户权限设置,你没有权限安装软件,这是什么原因造成的?  答:禁止windows的所有用户安装软件的方法如下:   点击“开始”-“附件”-“运行”-输入“regedit”并按确定打开注册表-展开到“HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer”下,在右边新建2个可扩

2011-10-26 16:29:52 17573 2

转载 VS2008 项目的调试发布模式

我的文章所写内容,都是自己实际编程中遇到的,通常是在遇到这个问题时,在网上搜索或者自己找到解决办法。有时候,某些问题要花好久才找的到解决方案,因为网上资料较少,也有可能是我搜索能力不强。写下这些,一是希望能帮助到遇到同样问题的朋友,二是记下之后,再次遇到这些问题,能记得解决办法。由于平时工作都很忙,所以我的文章大多都只简单的写了方法,没讲解得太详细。还是希望能够帮助到有需要的朋友们

2011-10-25 20:50:17 1281

转载 软件测试

单击"别名"选项卡,还可以为服务器配置别名。服务器的别名是用来连接的名称,连接参数中的服务器是真正的服务器名称,两者可以相同或不同。如下图中,我们可以使用myserver来代替真正的服务器名称sql2kcn-02,并且使用网络库 Named Pipes。别名的设置与使用HOS

2011-09-15 22:21:07 507

原创 sql2000 远程访问

SQL code --sql server 2000如何打开1433端口?本地连接--〉属性--〉TCP/IP属性--〉高级--〉选项--〉TCP/IP 筛选属性然后自己添加就可以了。---------------------------------sql

2011-08-15 22:59:19 4065

原创 SOKET模型重叠I/0

四。     实现重叠模型的步骤作了这么多的准备工作,费了这么多的笔墨,我们终于可以开始着手编码了。其实慢慢的你就会明白,要想透析重叠结构的内部原理也许是要费点功夫,但是只是学会如何来使用它,却是真的不难,唯一需要理清思路的地方就是和大量的客户端交互的情况下,我们得到事件通知

2011-08-05 10:03:29 1088

原创 手把手教你玩转SOCKET模型之重叠I/O篇(上)

手把手教你玩转SOCKET模型之重叠I/O篇 “身为一个初学者,时常能体味到初学者入门的艰辛,所以总是想抽空作点什么来尽我所能的帮助那些需要帮助的人。我也希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯付出时的吝啬。”

2011-08-05 09:59:44 768

原创 Visual C++ 使用与生成的文件

Visual C++ 使用的文件<br /><br /><br />.C - C 语言源文件: <br /><br />这种文件编译为 C 文件。如果其中包含 C++ 代码,必须将文件重命名为 .CPP 或 .CXX 文件,或在编译文件时使用 /Tp 开关。如果源文件包含 C++ 代码,Microsoft 建议将文件重命名为具有 .CPP 或 .CXX 扩展名。 <br /><br />.CPP 或 .CXX - C++ 语言源文件: <br /><br />这种文件编译为 C++ 文件。要将其编译为 C

2011-05-27 17:45:00 1302

原创 Inno Setup安装、卸载时判断是否程序正在运行

<br />[Code]<br />var<br />ErrorCode: Integer;<br />IsRunning: Integer; <br />// 安装时判断客户端是否正在运行<br />function InitializeSetup(): Boolean;<br />begin<br />Result :=true; //安装程序继续<br />IsRunning:=FindWindowByWindowName('E家人客户端');<br />while IsRunning<>0 do<b

2011-05-24 13:47:00 1892

原创 安装程序自动检测安装.Net Framework运行环境(使用InnoSetup)

<br />最近公司开发了一个WinForm的项目,部署人员在制作安装程序的时候问到怎么在安装程序中自动检测是否安装.Net Framework,由于是使用InnoSetup制作的安装程序,InnoSetup本身是支持Pascal脚本的,于是撰写了如下的代码来实现自动检测安装.Net Framework的功能。<br />InnoSetup可在在脚本中插入[Code]代码段,其中的代码可以通过事件驱动,支持的主要事件如下:    <br />function InitializeSetup(): Boole

2011-05-24 12:48:00 7551

原创 在VC中如何使程序开机时自动运行

<br />在计算机系统启动的过程中,有些程序经常会自动打开并运行,以便实现对系统的监控或者病毒的检测等特定目的,典型的例子就是一些常用的杀毒软件,如NOD32、KV300、瑞星以及卡巴斯基杀毒软件等。那么此项功能在VC中如何实现呢? <br />    利用WIN.INI文件可以实现相关程序的自动启动。<br />    WIN.INI是系统保存在C:/Windows目录先的一个系统初始化文件。系统在启动时会检索该文件中的相关项,以便对系统环境的初始设置。在该文件中的“[windows]”数据段中,有两个

2011-05-18 10:26:00 2826

原创 键盘(键盘基础,按键消息)

<br />在Microsoft Windows 98中,键盘和鼠标是两个标准的使用者输入来源,在一些连贯操作中常产生互补作用。当然,鼠标在今天的应用程序中比十年前使用得更为广泛。甚至在一些应用程序中,我们更习惯于使用鼠标,例如在游戏、画图程序、音乐程序以及Web浏览器等程序中就是这样。然而,我们可以不使用鼠标,但绝对不能从一般的PC中把键盘拆掉。<br />相对于个人计算机的其它组件,键盘有非常久远的历史,它起源于1874年的第一台Remington打字机。早期的计算机程序员用键盘在 Hollerith卡

2011-05-12 12:00:00 2932

原创 SQL无法连接 数据库里无项目

<br />昨天,发现SQL2000数据库无法连接,但看到服务等一切都正常,打开企业管理器,在数据库上竟显示无项目??明明我有好几个的数据库在里面~怎么会这样呢!打开应用程序日志,看见下面的话:“您正在运行的 Microsoft SQL Server 2000 或 Microsoft SQL Server 2000 桌面引擎(又称 MSDE)的版本包含已知的与 Windows 的 此版本一起使用时的漏洞。要减少计算机的漏洞,免受特定病毒 攻击,已经禁用 Microsoft SQL Server 2000、M

2011-05-11 16:40:00 11386

原创 Unicode下CString(wchar_t)转换为 char*

<br />Unicode下CString(wchar_t)转换为 char* <br /><br /> <br /> <br />,平台VC2005,使用Unicode字符集。因为以前一直是用多字节字符集的,使用的str开头的函数都要转换 成_wcs,烦,最后,被CString类型无法转换为char*或char[]的错误搞得是火大了。<br />使用以前转换CString的方法或者网上别人的指导用法,都失效了<br />1.strcpy_s( pchar, sizeof(pchar), mCString.

2011-05-11 14:23:00 934

原创 C语言位运算符:与、或、异或、取反、左移和右移

位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1~ 取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变

2011-05-06 09:45:00 615

原创 BeginTrans,CommitTrans 与RollbackTrans

<br />下面的“事务方法”管理在会话处理中的事务,会话由 object 所在处表示: BeginTrans 开始一个新的事务。CommitTrans 结束当前事务并保存所作的修改。RollbackTrans 结束当前事务并将在rdoEnvironment 对象中的数据库还原到该当前事务开始时的状态。<br />可以对rdoConnection 对象使用事务方法-但是在这种情况下,事务的范围只限于在 rdoConnection 下建立的 rdoResultset 和 rdoQuery 对象中。<br />

2011-05-06 09:44:00 787

原创 BeginTrans、CommitTrans、RollbackTrans 方法学习

<br />下面的“事务方法”管理在会话处理中的事务,会话由 object 所在处表示: BeginTrans 开始一个新的事务。<br />CommitTrans 结束当前事务并保存所作的修改。<br />RollbackTrans 结束当前事务并将在rdoEnvironment 对象中的数据库还原到该当前事务开始时的状态。<br />可以对rdoConnection 对象使用事务方法-但是在这种情况下,事务的范围只限于在 rdoConnection 下建立的 rdoResultset 和 rdoQuer

2011-05-05 17:58:00 685

转载 指针函数与函数指针的区别

<br /> 指针函数和函数指针<br />一、指针函数<br />    当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。<br />    格式:<br />         类型说明符 * 函数名(参数)<br />    当然了,由于返回的是一个地址,所以类型说明符一般都是int。<br />    例如:int *GetDate();<br />          int * aaa(int,int);<br />    函数返回的是一个地址值

2011-05-05 16:23:00 267

原创 字符编码:ANSI, UNICODE, UTF

<br />早期的计算机只支持英文,所以需要表达的字符数量很少,为此ANSI制定了ASCII字符表,以一个字节的低7位表示字符,这样可以表达128个,当字节的高位为1时,表示的是扩展ASCII字符,ANSI并没有为它们指定标准。然而,计算机所要表达的并非只有一种语言,为了使ASCII可以支持其他平台,IBM又做了一些修改,利用两个扩展ASCII字符来表达非英文字符,这样可以表达的扩展字符数就到达了14位,即16384个字符。这就是ANSI字符标准。针对ANSI每个国家(地区)有自己的编码规范,对中文而言,最

2011-04-26 16:18:00 444

原创 C++ 友元函数与友元类

<br />友元函数和友元类的需要:<br />  类具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程序中的其他函数是无法访问私有成员的。非成员函数可以访问类中的公有成员,但是如果将数据成员都定义为公有的,这又破坏了隐藏的特性。另外,应该看到在某些情况下,特别是在对某些成员函数多次调用时,由于参数传递,类型检查和安全性检查等都需要时间开销,而影响程序的运行效率。<br />  为了解决上述问题,提出一种使用友元的方案。友元是一种定义在类外部的普通函数,但它需要在类体内进行说明,为了与该类的

2011-04-25 15:26:00 459

原创 C++ 虚函数的作用

<br />虚函数联系到多态,多态联系到继承. 所以本文中都是在继承层次上做文章. 没了继承,什么都没得谈.<br /> <br />下面是对C++的虚函数这玩意儿的理解.<br /> <br />一. 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始)<br />简单地说,那些被virtual关键字修饰的成员函数,就是虚函数. 虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离; 用形象的语言来解释就是实现以共同的方法,但因个

2011-04-25 11:28:00 858

原创 在Web上调用Ocx控件

<br />在HTML页面中使用ActiveX控件包含三个基本操作:将控件放入HTML中;将该控件下载给用户;在用户机器上安装该控件。如果只是针对IE用户,在HTML中插入ActiveX控件就比较简单;如果同时兼顾IE和Netscape用户,则要做更多工作。大家知道,HTML文件由文本和各种标志 (tags)组成,ActiveX 控件对于IE在HTML中的标志是<OBJECT>,该标记有几个重要的参数特性,它们是: <br />1.ID:为控件提供一个标识名称,为HTML代码提供一种访问该控件的方式。 <b

2011-04-23 11:04:00 32934 2

原创 用Visio画UML 类结构图

<br />类之间的关系<br />继承关系<br />继承关系是最容易理解的关系。画成图的话就像下面这样。面向对象的说法就是is-a关系。也就是说Class2 is a Class1。在C++中我们说Class2是Class1的派生类,或者说Class1是Class2的基类。<br />聚集和组成<br />从容易理解的关系说起.经常有一个类是另一格类的数据成员的情况。在UML中表现为,聚集(aggregation)和组成(composition)。 <br /><br />从图上来看,这两种关系都表现为

2011-04-21 15:58:00 3406

原创 c++ 继承分析

<br />C++ 支持多种程序设计风格,其中就包括对面向对象设计的支持。我们今天在这里将会为大家详细介绍一下各种C++继承方式的具体应用方法,希望能够帮助大家对这方面的知识有一个深入的认识。<br />C++继承方式总共分为以下几种:<br />public、private、protected三种(它们直接影响到派生类的成员、及其对象对基类成员访问的规则)。<br />(1)public(公有继承):继承时保持基类中各成员属性不变,并且基类中private成员被隐藏。派生类的成员只能访问基类中的publi

2011-04-20 10:03:00 788

原创 ANSI、unicode、utf-8、DBCS等字符集及相关数据类型、函数的区别

<br />看这篇文章,讲的很清楚 <br />UNICODE环境设置 <br />在安装Visual Studio时,在选择VC++时需要加入unicode选项,保证相关的库文件可以拷贝到system32下。 <br />UNICODE编译设置: <br />C/C++, Preprocessor difinitions 去除_MBCS,加_UNICODE,UNICODE <br />在ProjectSetting/link/output 中设置Entry为wWinMainCRTStartup <br /

2011-04-08 18:11:00 704

android文档

android,提供android 源代码分析。

2013-04-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除