- 博客(53)
- 收藏
- 关注
原创 rtsp协议简介
Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rtsp
2007-12-20 14:45:00
5464
原创 RFC2326(中文版)-实时流协议(RTSP)
实时流协议(RTSP) ( Real Time Streaming Protocol (RTSP) )备忘录的状态:本文档讲述了一种Internet社区的Internet标准跟踪协议,它需要进一步进行讨论和建议以得到改进。请参考最新版的“Internet正式协议标准”(STD1)来获得本协议的标准化程度和状态。
2007-12-19 11:27:00
14638
2
原创 C++中虚函数深入剖析
虚函数=虚拟函数 虚拟函数地址表=虚表(vtable)每个类中含有虚函数的对象,编译器都会为它们指定一个虚表(其实是一个函数指针数组),保存在数据区,它由此类所有的对象共用(即静态的),同时编译器也会为它(每个类对象)加上一个成员变量,一个指向自己虚表的指针(常称为"vptr"),并存放在对象的首地址上,由此每个类(含有虚函数)分配的对象都有一个vptr,当我们调用虚函数时,实际上是我
2007-12-05 15:06:00
1449
转载 高级语言函数调用的反汇编分析
1.将函数参数入栈,第一个参数在栈顶,最后一个参数在栈底。2.执行CALL指令,调用该函数,进入该函数代码空间。a.执行CALL指令,将CALL指令下一行代码的地址入栈。b.进入函数代码空间后,将基址指针EBP入栈,然后让基址指针EBP指向当前堆栈栈顶,并使用它访问存在堆栈中的函数输入参数及堆栈中的其他数据。c.堆栈指针ESP减少一个值,如44H,向上移动一个距离,留出一个空间给该函数作为临时存储
2007-11-30 11:13:00
1700
原创 MMS (Microsoft Media Server protocol)协议概述
MMS (Microsoft Media Server protocol)协议概述:用来访问并流式接收 Windows Media 服务器中 .asf 文件的一种协议。MMS 协议用于访问 Windows Media 发布点上的单播内容。MMS 是连接 Windows Media 单播服务的默认方法。若观众在 Windows Media Player 中键入一个 URL 以连接内容,而不是通
2007-11-19 15:44:00
7769
2
原创 CreateFile函数详解
The CreateFile function creates or opens the following objects and returns a handle that can be used to accessthe object: files pipes mailslots communications resources disk devices(Windows NT only) c
2007-10-08 16:29:00
1933
原创 清除SQLSERVER2000暂挂项目
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目
2007-08-31 14:53:00
911
转载 使用cout格式化输出字符串
#include "StdAfx.h"#include "./coutformatsample.h" using namespace std; // publicCCoutFormatSample::CCoutFormatSample(void){} CCoutFormatSample::~CCoutFormatSample(void){}
2007-08-30 11:00:00
5270
转载 Radio Button的简单用法
先为对话框加上2个radio button,分别是Radio1和Radio2。 问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了? 关键是选上,"默认"只要放在OnInitDialog()即可。三种方法可以让它选上, 第一种: ((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上
2007-08-28 09:12:00
1194
转载 实现自定义拖放
------创建COleDropSource对象来控制放置对于大多数应用程序,拖放功能的默认实现就已经足够了。但是,某些应用程序可能要求更改此标准行为。马上你会看到一个更改标准的拖放行为的例子,可以说明其实这是一件多么简单的事情,或许,你会得到一些自定义拖放的感性认识。在我的工具条上,有一个按钮,资源ID号为:ID_DRAG_MY_OBJ,点击该按钮后,将开始拖放动作(注意,点击该按
2007-08-23 13:24:00
1471
原创 即时方式测试拖动文件Drag
COleDataSource m_oleDataSource; UINT uBufferSize =0;//测试只用一个文件 { uBufferSize += lstrlen ( _T("d://1111111.rar") ) + 1;//测试一个文件 } uBufferSize= sizeof(DROPFILES) + sizeof(TCHAR) * (uBufferSize + 1)
2007-08-22 16:05:00
1119
转载 利用MFC实现对象拖放
利用MFC实现对象拖放对象拖放是指对某一指定的对象,利用鼠标拖动的方法,在不同应用的窗口之间、同一应用的不同窗口之间或同一应用的同一窗口内进行移动、复制(粘贴)等操作的技术。利用对象拖放,可以为用户提供方便、直观的操作界面。实现对象拖放技术,需要了解、使用MFC的CView、COleDataSource和COleDropTarget等类,并利用这些类协同工作。本文讨论了对象拖放技术,并研究了如何
2007-08-17 16:42:00
2712
转载 文件拖动Drag & Drop 全解析
一、基本概念拖放,是指用鼠标拖动的方法,在不同程序的窗口之间、同一个程序的不同窗口之间或同一程序同一窗口的不同控件之间,进行移动、复制和粘贴等操作的技术。拖放操作是在操作系统的帮助下完成的。被拖动的对象首先向操作系统注册它使用的数据格式,并按指定的数据格式提供数据,拖放操作结束时,接收拖放的窗口按指定的数据格式提取有关数据,并根据提取的数据生成相应的对象。二、两种拖放方式拖放有两
2007-08-17 10:49:00
5346
转载 对话框程序中捕获WM_KEYDOWN消息
如何在对话框程序中让对话框捕获WM_KEYDOWN消息作者:孙鑫 日期:2003-9-4在对话框程序中,我们经常是利用对话框上的子控件进行命令响应来处理一些事件。如果我们想要让对话框(子控件的父窗口)类来响应我们的按键消息,我们可以通过ClassWizard对WM_KEYDOWN消息进行响应,当程序运行后,我们按下键盘上的按键,但对话框不会有任何
2007-08-15 14:56:00
1253
原创 使用Tab Control 控件的例子
1、首先创建一个MFC对话框框架,在对话框资源上从工具箱中添加上一个Tab Control 控件,根据需要修改一下属性,然后右击控件,为这个控件添加一个变量,将此控件跟一个CTabCtrl类变量绑定在一起,这里设为m_tabctrl2、创建两个新的对话框资源,其属性作如下修改:Border:none //边界为空,这样它就没了标题栏Style :Child // 这样这个模板就可以当作另一个窗
2007-08-13 13:18:00
1021
原创 C++的重要特性-模板
Template 虽然很重要,但它与「运用MFC」有什么关系?有!第8章当我们开始设计Scribble 程序时,需要用到MFC 的collection classes,而这一组类别自从MFC 3.0以来就有了template 版本(因为Visual C++ 编译器从2.0 版开始支持C++ template)。运用之前,我们总该了解一下新的语法、精神、以及应用。到底什么是template?重要
2007-08-12 16:40:00
2269
转载 Inno Setup使用教程
如何使用:文档约定 创建安装程序 创建脚本 段内参数 一些常量 公共参数 安装脚本段 [Setup] 段 [Dirs] 段 [Files] 段 [Icons] 段 [INI] 段 [InstallDelete] 段 [Messages] 段 [Reg
2007-08-11 23:02:00
3371
原创 运算符重载
在C++语言中,可以用关键字operator 加上运算符来表示函数,叫做运算符重载。例如两个复数相加函数:Complex Add(const Complex &a, const Complex &b);可以用运算符重载来表示:Complex operator +(const Complex &a, const Complex &b);运算符与普通函数在调用时的不同之处是:对于普通函数,参数出现在圆
2007-08-11 22:42:00
1443
1
原创 C++成员函数的重载、覆盖与隐藏
成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖:派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual
2007-08-11 22:24:00
10806
1
原创 C++函数的高级特性-函数重载
对比于C 语言的函数,C++增加了重载(overloaded)、内联(inline)、const 和virtual四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const 与virtual 机制仅用于类的成员函数。1.重载(overloaded)重载的理由:1:在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,即函数重载。这样便于记忆,提高了函数的
2007-08-11 22:05:00
9800
1
转载 在MFC中使用Tab Control
说实话,我刚开始看见Tab Control的时候,觉得很简单。哪知道用了一下,才发现自己错了。要用好它,还是需要一些技巧的。经过网上搜索资料,以及我自己的摸索,把一些要点记录在这里。Tab Control的运行效果有点像Property Sheet,但两者还是有一些区别。我的理解就是Property Sheet主要用在对话框中,对数据进行进行分类管理。而Tab Control使用范围更广一
2007-08-10 15:21:00
1390
原创 托盘程序TrayIcon
CXTTrayIcon m_TrayIcon;在OnCreate()函数里,创建 if (!m_TrayIcon.Create( _T("Power Tools for MFC!"), // Toolktip text this, // Parent window IDR_MAINFRAME, // Icon
2007-08-09 10:44:00
2793
原创 浏览对话框的实现
方法1:使用Xtreme Toolkit界面库中的CXTBrowseDialog 控件 if (UpdateData(TRUE)) { CXTBrowseDialog dlg; dlg.SetTitle(_T("Select Your Directory")); if (!m_strDirectory.IsEmpty()) { TCHAR path[_MAX_PATH]; ST
2007-08-09 09:34:00
942
原创 Xtreme Toolkit创建控件和ReBar
CXTDateTimeCtrl m_monthCal; int CMainFrame::OnCreateControl(LPCREATECONTROLSTRUCT lpCreateControl) { m_monthCal.Create(WS_TABSTOP | WS_CHILD | WS_VISIBLE | WS_BORDER
2007-08-03 22:19:00
1419
原创 StreamDown中的CTreeCtrl控件处理代码
this->m_MyFont.CreateFont(12,0, 0, 0, FW_NORMAL, FALSE, FALSE, 0, GB2312_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH | FF_SWISS,_T("Arial")); CImageList m
2007-08-03 22:16:00
896
原创 CListView中鼠标双击常用处理方法
CListView中鼠标双击事件为 NM_DBCLICK,生成的函数为:void CMyList::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)处理方法有如下两种一、使用函数的参数双击处理函数的参数pNMHDR就带着点中项的序号:NMLISTVIEW* pNMListView = (NMLISTVIEW*)pNMHDR;int nItem =
2007-08-03 22:00:00
1414
原创 CComboBoxEx控件使用示例
1)初始化部分在资源中添加CComboBoxEx控件,在对话框类中声明变量: CComboBoxEx m_cmbex; HICON m_icon[3]; CImageList m_image; 在对话框的OnInitDialog()函数中添加:m_icon[0]=AfxGetApp()->LoadIcon(IDI_A); m_icon[1]=AfxGetApp()->Load
2007-08-01 11:29:00
2809
原创 声明函数指针实现回调
程序员常常需要实现回调。本文将讨论函数指针的基本原则并说明如何使用函数指针实现回调。注意这里针对的是普通的函数,不包括完全依赖于不同语法和语义规则的类成员函数(类成员指针将在另文中讨论)。声明函数指针 回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用。要实现回调,必须首先定义函数指针。尽管定义的语法有点不可思议,但如果你熟悉函数声明的一般方法,便会发
2007-07-31 16:24:00
2892
转载 C/C++ 笔试、面试题目大汇总
1.求下面函数的返回值(微软)int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。2. 什么是“引用”?申明和
2007-07-31 16:19:00
22388
6
转载 几个算法题目
算法题(说明:这些题就不是什么花样了,考的是你的基础知识怎么样。再聪明而没有实学的人都将会被这些题所淘汰。)1.链表和数组的区别在哪里? 2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法? 3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法? 4.请编写能直接实现strstr()函数功能的代码。 5.编写反转字符串的程序,要求优化速度、优化空间。 6.在链表里如何发现循
2007-07-31 15:25:00
3713
2
转载 一道很难的有关算法的测试题,写逆算法
一道很难的有关算法的测试题,写逆算法转载 来源:http://blog.liutaotao.com/blogview.asp?logID=38最近在学习压缩算法,刚学懂了一个压缩算法,把它加以改造,做成了一道测试题.这道题很难,这个算法很巧.如果不知道答案,我都没有把握能做出来.如果你自信算法方面很强,可以试一试.如果你做不出来,又想知道答案,联系我.以下已经给出了完整的 Decode 代码
2007-07-31 15:18:00
2241
原创 HTTP断点续传的基本原理
HTTP断点续传的基本原理断点续传是我们现在经常接触的概念,那么HTTP协议是如何支持断点续传的呢。我们先从一个例子来看看。 下面是一个断点续传的例子:(使用Net Vampire得到) I 01-7-12 19:19:23 ------------------------- Attempt 1 ------------------------- P 01-7-12 19:1
2007-07-31 13:54:00
55240
翻译 CString 操作指南
CString 操作指南原著:Joseph M. Newcomer翻译:littleloach原文出处:codeproject:CString Management通过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,
2007-07-31 13:42:00
924
原创 在VC++下对文件属性的获取与更改
在VC++下对文件属性的获取与更改摘要:本文讲述了在Visual C++ 下编程实现对磁盘文件的属性进行获取以及更改的一般方法,并给出部分相关的关键代码。 一、 引言 文件是数据在磁盘上最常用的一种存放形式,也是在程序设计中与之经常打交道的一种编程对象,不少程序尤其是数据传输和处理类的应用程序更是需要频繁的创 建、读取和写入文件。对于一些要求不是很严格的程序,我们往往只关心文件的内容是否
2007-07-30 13:21:00
835
原创 一个CListCtrl的使用完全指南
创建图形列表并和CListCtrl关联: m_image_list.Create(IDB_CALLER2, 16, 10, RGB(192,192, 192)); m_image_list.SetBkColor( GetSysColor( COLOR_WINDOW ) ); m_caller_list.SetImageList( &m_image_list, LVSIL_SMALL);为报表
2007-07-30 13:19:00
1493
原创 CListCtrl使用详解
先来介绍REPORT类型的CListCtrl: 首先使用下面的语句设置CListCtrl的style: DWORD SetExtendedStyle( DWORD dwNewStyle ); 其中 LVS_EX_CHECKBOXES 表示添加CheckBox LVS_EX_FULLROWSELECT 表示选择整行 LVS_EX_GRIDLINES 表示添加表格线如果设置了LVS_EX_C
2007-07-30 13:16:00
848
原创 Xtreme Toolkit 常用代码
m_myStatic_MenuIcon.Create(_T(""), WS_CHILD|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE, CRect(5,5,24,24), pMenuBar,0x1234);m_myStatic_MenuIcon.SetBitmap(::LoadBitmap(AfxGetApp()->m_hInstance,(LPCTSTR)IDB_BI
2007-07-28 08:18:00
2252
原创 C中文件操作相关函数
文件操作.2007-03-24 00:55 @函数名称: fputchar函数原型: int fputchar(int ch)函数功能: 在标准输出流(即屏幕上)的当前位置写入一个字符函数返回: 操作正确时返回写入的字符,错误返回EOF参数说明: c
2007-07-28 07:52:00
1547
原创 一步一步学STL标准模板库
在使用list必须包括头文件#include ,1)、如何定义一个list对象 #include int main (void){ list cList; //声明了list模板类 的一个实例}2)、使用list的成员函数push_back和push_front插入一个元素到list中 cList. push_back(‘a’); //把一个对象放到一个list的后面cList.
2007-07-28 07:46:00
750
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人