
c/c++ vc directui
dotnet90
这个作者很懒,什么都没留下…
展开
-
regsvr32的源代码(摘自mdsn)
#include #include #include #define FAIL_ARGS 1#define FAIL_OLE 2#define FAIL_LOAD 3#define FAIL_ENTRY 4#define FAIL_REG 5 static char szAppName[] = "Register";static char szUsage[]原创 2008-01-29 14:33:00 · 2124 阅读 · 0 评论 -
c++学习笔记--socket
c++学习笔记1、socket编程 我用了一个 上图的方法去连接我的电脑,然后我用了netstat -na来查看了我的电脑的端口,如下图所示:说明了只有处于listening状态的端口才可以成功连接,我用50连接成功。2770失败。原创 2008-02-02 00:19:00 · 557 阅读 · 0 评论 -
dos命令
rem是给批处理文件加入空行或者注释 Start命令的使用格式是:Start/[option]program[arg] Program是指欲运行的Windows程序;[arg]是指Program程序的运行参数。[option]是Start命令的选项,有/M、/MAX、/R、/W四个。其功能如下:/M,启动程序,以最小化方式在后台运行,在桌面任务条上可以看到该启动程序名;/MAX,以最大化方式在原创 2008-02-02 14:11:00 · 646 阅读 · 0 评论 -
关于Direct Show 找不到dshow.h的问题
试验了几天,看来DirectShow真的是从DirectX中分离出去了,可以装一个DirectX 的Extract的包,里面就是DirectShow,也可以装一个Platform SDK,里面同样也包含DirectShow。我们的集成开发环境选择了Visual C++ 6.0 With SP6,但默认情况下,它不包括DirectShow的开发包。为此,我专门上微软的网站下载了DirectX SDK转载 2008-02-07 14:19:00 · 5068 阅读 · 0 评论 -
visual c++学习笔记
2008年 2月7日,大年初一,我一个人在我的住处用visual c++写了第一个程序,用winsocket建立网络聊天,虽然功能不强大,但是这是我的第一个c++的程序,和哈,还是很开心地。有了这个winsocket,作为基础我就可以在上面架设应用了,计划先做一款五子棋游戏玩一下,哈哈,开心应用。这个例子中包含了一下知识点,1winsocket的基础知识,没有这个就不能很好的实现通信,原创 2008-02-07 17:42:00 · 918 阅读 · 0 评论 -
VC++学习笔记
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。 预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。 编译器通过一个头文件st原创 2008-02-07 00:07:00 · 738 阅读 · 0 评论 -
visual c++学习笔记socket编程
我初学C++,我想socket写一个服务端与客户端的通信的程序,首先服务端要有一个死循环来实现不断的接收客户端的发送的消息,还要有一个死循环来不断的接受新的客户端的连接请求.我怎么处理这两个死循环呢,让执行服务器功能的主循环来启动socket的死循环,我该怎么做呢?思路有两个:(一)在系统启动Main函数的时候,启动四个线程, 1)接受socket的线程原创 2008-05-02 00:05:00 · 1941 阅读 · 0 评论 -
有关_stdcall
(内容来自于《MFC深入浅出》)调用约定(Calling convention)决定以下内容:函数参数的压栈顺序,由调用者还是被调用者把参数弹出栈,以及产生函数修饰名的方法。MFC支持以下调用约定:_cdecl 按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于“C”函数或者变量,修饰名是在函数名前加下划线。对于“C++”函数,有所不同。如函数void test(void)的修原创 2008-08-20 12:34:00 · 517 阅读 · 0 评论 -
CString到char*的转化
今天在写socket发送数据的时候,send函数接收的是一个char*的函数,但是我的信息报的格式是CString的,所以要有一个转化, CString str = "ABC"; 为什么从CString转变到char* 不能char* aa = (char*)str; 而必须是char* aa = (LPSTR)(LPCT原创 2008-08-21 13:55:00 · 847 阅读 · 0 评论 -
在VC++中读写INI文件
在VC++中读写INI文件 在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lp原创 2008-08-23 17:35:00 · 496 阅读 · 0 评论 -
怎样把 _variant_t 类型转换成CString类型
用 ado 的 recordset->getcollect() 返回的是 _variant_t 类型的。 1、_variant_t limiturl; limiturl= m_pURLRecordset->GetCollect("limurl"); CString url = (LPCTSTR)(_bstr_t)limiturl; 2、CString str; str =原创 2008-08-27 13:04:00 · 8432 阅读 · 3 评论 -
CString转换成int
初次结识C++使用的最多的就是数据类型转换的问题: int i = atoi((LPCTSTR)CString); CString str="100"; int n=atoi(str.GetBuffer(str.GetLength())); int i; CString strNum="1002020"; sscanf(原创 2008-08-28 15:21:00 · 5284 阅读 · 0 评论 -
visual C++学习使用开发笔记(2008-08-31)
知识点:学了就要记住才可以(2008-08-31)1、关于inflaterect和deflaterect简单的说就是左(left) 上(top) 右(right) 下(bottom) 下面列出其全部重载函数 CRect::InflateRect void InflateRect( int x, int y ); void InflateRect( SIZE size ); void原创 2008-08-31 11:24:00 · 2186 阅读 · 0 评论 -
不用Hook也能实现方面快捷的换肤功能
大家都知道如果你想用一个好看的按钮,你通常的做法是两种:1 映射按钮变量 2 .h定义 CExButton m_btn;然后m_btn.SubclassDlgItem 。这两种做法对于小程序,小工程没有问题但是当工程一大,做起来特别费劲而且容易出错,如果你想去掉这些换一种界面无疑是一场噩梦!下面介绍的方法原理简单,实用而且方便。首先:添加一个辅助类CLxpSkinclass C原创 2008-09-03 21:35:00 · 606 阅读 · 0 评论 -
关于内存DC绘图防止屏幕闪烁说明
利用内存DC,进行绘图,从而减少闪烁,方法原理为: 此方法涉及到两个DC,屏幕DC和内存DC。把所要绘制的一切现在内存DC中进行绘制,之后全部搬到 屏幕DC中,从而把所有烦琐的绘制过程都在内存DC中完成了,用户在屏幕上看到的是一幅完整的图画,所以不可能出现 闪烁情况。期间,关键是这幅图画。这幅图画是从屏幕DC中创建出来的,只不画面的尺寸就是客户区域的大小,之后把 这幅画选入内存D原创 2008-09-04 19:00:00 · 831 阅读 · 0 评论 -
Visual C++开发类似QQ游戏大厅全过程
前言 以前一直做的是.net web工作,虽然做的不咋地,但是,感觉总算是个老手了,就想研究点新鲜玩意,而且一辈子不能只是做web吧,而且c++一直是我的梦想,c++是王者之选,我不做一做,死不瞑目啊! 今日我终于如愿以偿,从上一个公司已辞职,立即开始研究c++了,先是让同事帮忙给点入门的例子,后来同事就到网上扒了一片文章中讲述的IOCP的例子,太简单,后来又找原创 2008-09-14 13:56:00 · 3795 阅读 · 4 评论 -
visual c++GDI绘图
1、什么是有效矩形,什么是无效矩形 当程序中遇到图像或文字显示时系统会发送一个WM_PAINT消息,当应用程序收到消息后通常就准备更新整个显示区域,但是通常只需要更新一个比较小的区域而不是整个区域,这种情况通常出现在当应用程序的主窗口的一部分被一个对话框覆盖,需要重画的只是被覆盖的矩形区域.这个矩形区域就是有效矩形. windows内部为每个窗口都保留了一个绘图结构(PAI原创 2008-09-13 12:49:00 · 6440 阅读 · 1 评论 -
OnDraw()和OnPaint()兄弟
http://hi.baidu.com/mikenoodle/blog/item/6d2f08b36b3ed1a1d9335afb.html 经常有朋友问雷神这样的问题:我在视图画的图象或者文字,当窗口改变后为什么不见了?OnDraw()和OnPaint()两个都是解决上面的问题,有什么不同?雷神在这里一并解答一下吧。OnDraw()和OnPaint()好象兄弟俩,因为它们的工作类似。至于不见转载 2008-09-14 16:26:00 · 2924 阅读 · 4 评论 -
指针与句柄的简单转换
编程过程中,常常会遇到或使用到指针或句柄,这里简单说说有关指针、句柄间的转换。 指针的使用在编程过程中至关重要,恰到好处并能正确无误的使用指针不但能够提高程序自身的运行效率,而且有助于节省程序执行所需要消耗的资源。指针对应着某个数据在内存空间中的地址,得到了指针就可以自由地修改该数据。句柄代表指针的“指针”,也可以将其比作表中数据项的索引值( 表对应某个进程自身的内存空间 )。原创 2008-10-02 02:03:00 · 589 阅读 · 0 评论 -
单文档与多视的实现方法
一、单文档与多视 Windows程序一般分为以下几种风格:多文档、单文档、基于对话框的。 Word一类多文档程序和计算器一类基于对话框的程序不在本文介绍之列。单文 档又分为单视的和多视的。一般情况下,单文档仅需要单视就够了,如画笔等。 但也有一些情况下,单文档需要多视支持,比如同时观察文档的不同部分,同时 从不同的角度观察同一文档等。 在MFC的框架下,文档对象(CDocument)原创 2008-10-01 18:19:00 · 717 阅读 · 0 评论 -
error C2143: syntax error : missing ';' before '*'问题
1、一种情况是少写了一个分号2、a的头文件引用b,b的头文件引用a原创 2008-10-06 10:01:00 · 768 阅读 · 0 评论 -
在VC中操纵网页可以提交获取某个input中的值
首先写一个函数BOOL CPost::FindSpecifiedElement(CString &csFormName, //元素所在表单名称CString &csElementTag, //元素标记名称CString &csElementName //元素名称){ if(csFormName.IsEmpty()||csElementTag.IsEmpty()|| csEle原创 2008-10-07 14:39:00 · 909 阅读 · 0 评论 -
谈谈父窗口和所有者窗口
一、概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。 所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为原创 2008-10-07 17:23:00 · 590 阅读 · 0 评论 -
C++学习笔记四
程序员一定要有好的思维,这样算法才会优良,算法才会巧妙; 程序员一定要有好的定力,这样遇到问题才会锲而不舍,不骄不躁,问题总会解决的,但不一定是今天,如果你硬要钻牛角尖的话,能把人给钻哭;但是往往解决问题就在一瞬,要么一个灵感,要么一个偶然的试验; 我初学C++,遇到了很多很多的问题,但是我是一个人独自钻研的,所以其中的艰辛可想而知,但是问题一个一个都得到解决很有一种成功的原创 2008-10-05 14:27:00 · 1539 阅读 · 1 评论 -
关于对话框销毁的讨论解决另外我的问题
详见帖子:http://topic.youkuaiyun.com/t/20050522/01/4025795.html1楼:我见N多资料都在强调非模态对话框只能在堆上分配空间,这个我明白。它们又强调要调用调用DestroyWindow()以达到彻底销毁自身对象的作用,因为DestroyWindow()的调用会引起OnDestroy()的调用,在OnDestroy函数中delete this。原创 2008-10-06 13:03:00 · 1659 阅读 · 0 评论 -
SAFE_DELETE
我发现学程序大家差不多都有相似的地方,当一个人从这个地方摔倒的时候,后续总是不断的有人摔摔的,从论坛的提问就能看出来,因为自己学习的时候是每一一个人带的情况下,独自研究c++,现在仍然记得做c++的第一个星期,每写一句代码都要查一下资料,搜索一下网络,差不多写三句代码都要查半天的痛苦了,好的是用了一个多月的时间,c++实现了入门,写出了完成端口,视频,Flash加密,破解了别人一个带有数学公式和化原创 2008-10-14 14:26:00 · 4155 阅读 · 1 评论 -
解析“extern”
解析“extern” 1、 声明外部变量 现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是 互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件: //A.cpp int i;转载 2009-01-05 18:59:00 · 585 阅读 · 0 评论 -
inline
一、inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。 表达式形式的宏定义一例: #define ExpressionName(Var1,Var2) (Var1+Var2)*(Var1-Var2) 为什么要取代这种形式呢,且听我道来: 1. 首先谈一下在C中使用这种形式宏定义的原因,C语言是一个效率很高的语言,这种宏定义在形转载 2009-01-05 19:00:00 · 675 阅读 · 0 评论 -
WaitForSingleObject
WaitForSingleObject的用法 WaitForSingleObject的用法 DWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds ); 参数hHandle是一个事件的句柄,第二个参数dwMilliseconds是时间间隔。如果时间是有信号状态返回WAIT_OBJ原创 2008-11-22 19:40:00 · 689 阅读 · 0 评论 -
VC++.NET中字符串之间的转换
一、BSTR、LPSTR和LPWSTR 在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。 那么什么是BSTR、LPSTR以及LPWSTR呢? BSTR(Basic STRing原创 2008-11-27 14:10:00 · 578 阅读 · 0 评论 -
在VC中用GDI+绘制角度可变的颜色渐变效果
GDI+ 是GDI(Windows 早期版本提供的图形设备接口)的后续版本,是Microsoft Windows XP作系统即后续版本的图形显示技术。它已经集成到了.Net开发环境中,所以不管你的OS是什么版本,只要安装了.Net框架,就有了GDI+(注意:是.Net框架,而不是.Net开发环境,所以Win98中也可以使用GDI+)。 现在,言归正传。 下面以给一个CTestDlg的对原创 2009-01-29 21:12:00 · 1188 阅读 · 1 评论 -
vc常用技巧汇总
1、 HTREEITEM hTreeCurrent; hTreeCurrent=m_TreeDep.GetSelectedItem(); m_TreeDep.GetParentItem(hTreeCurrent);2、CHeaderCtrl *header=m_List.GetHeaderCtrl(); int iCols=header->GetItemCount原创 2008-11-27 14:00:00 · 553 阅读 · 0 评论 -
CString string 和 Char* 比较
(一) 概述string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中;CString(typedef CStringT>CString)为VisualC++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char(应用于ANSI),wchar_t(unicode),TCH原创 2009-02-06 09:51:00 · 851 阅读 · 0 评论 -
子类化的例子
#include #include "resource.h"// 手型光标的资源定义#ifndef IDC_HAND#define IDC_HAND MAKEINTRESOURCE(32649)#endif// 全局变量,用于保存默认的Edit、Static窗口过程以便子类化窗口调用WNDPROC EditProc, StaticProc;// 浮点数输入框的子类化窗口过程LRESU原创 2008-11-28 19:04:00 · 760 阅读 · 0 评论 -
"Programming Microsoft DirectShow for Digital Video and Television"中简介的翻译收
简介:20世纪90年代,个人电脑发生了巨大的变化,即进入了一个信息处理时代,成为了一种定位与字处理和处理表格的设备。在即将进入21世纪时,个人电脑已经成为了一个多媒体处理机,可以播放音乐、电影、DVD,也可以在上面玩游戏,还可以在上面看到CNN直播的新闻。这个巨大的变化在一定程度上归功于个人电脑在处理器、内存储器和外存储器方面的指数级的惊人发展。当然,这也可以归功于著名的摩原创 2008-12-03 14:05:00 · 1143 阅读 · 0 评论 -
(除了一个msgbox什么也没有) directshow之"hello world"第二步收藏
http://blog.youkuaiyun.com/szy41/archive/2005/03/24/328819.aspx如果你想看到一些成果,可以试一下sample里的playwnd程序.把该目录下的文件添加到一个project中,然后在link中加入commctrl.lib coredll.lib strmiids.lib strmbase.lib uuid.lib ole32.lib转载 2008-12-03 14:11:00 · 579 阅读 · 0 评论 -
RTF(rich textformat)富文本格式
RTF是Rich TextFormat的缩写,意即多文本格式。这是一种类似DOC格式(Word文档)的文件,有很好的兼容性,使用Windows“附件”中的“写字板”就能打开并进行编辑。RTF是一种非常流行的文件结构,很多文字编辑器都支持它。一般的格式设置,比如字体和段落设置,页面设置等等信息都可以存在RTF格式中,它能在一定程度上实现word与wps文件之间的互访。 RTF语法一个RTF文件由未格原创 2009-02-14 16:49:00 · 5018 阅读 · 0 评论 -
COM编程中的接口查询QueryInterface的实现原理
我们都知道,COM组件编程中,QueryInterface实现的接口之间的查询,通过这个接口,我们可以获取该组件中其他的接口。但是,QueryInterface实现的原理是什么呢,首先,我们看一下基本的COM实现。一般来说,COM是 通过多继承实现多个接口,如下图 而对应的QueryInterface实现如下HRESULT 实现类::QueryInterface( const转载 2009-02-14 16:24:00 · 2681 阅读 · 0 评论 -
c++基础知识
或运算的意义是什么:0+0=0 0+1=1 1+0=1 1+1=1 无进位与运算的意义是什么:在VC中,窗口的每个属性对应一个只有一位为1的16位的二进制数,当增加某属性做或运算(|)即可,取消某个属性只需与(&)上这个属性的取反。 cs.style &= ~WS_MAXIMIZEBOX; 和cs.style = cs.style & ~WS_MAXIMIZEBOX; 等价。原创 2008-12-10 18:46:00 · 474 阅读 · 0 评论 -
四大图像库:OpenCV/FreeImage/CImg/CxImage(转)
1.对OpenCV 的印象:功能十分的强大,而且支持目前先进的图像处理技术,体系十分完善,操作手册很详细,手册首先给大家补计算机视觉的知识,几乎涵盖了近10年内的主流算法;然后将图像格式和矩阵运算,然后将各个算法的实现函数。我用它来做了一个Harris角点检测器和Canny边缘检测器,总共就花了一个小时(第一次用OpenCV)。而且该库显示图像极其方便,两句话就可以。但该库似乎不大稳定,原创 2008-12-16 13:16:00 · 2181 阅读 · 0 评论