VC学习
wuzoujing
这个作者很懒,什么都没留下…
展开
-
VC 插件示例
目前,不少流行软件都提供有对外挂插件的支持功能,如Winamp、Realplay等等。这些软件通过对插件技术的使用为日后的软件升级和功能扩展提供了相当的便利条件。尤为重要的是,通过使用插件技术,使得对软件的功能扩展将不再完全受限于软件厂商,任何第三方开发商或是程序员个人只要遵循了软件提供的插件接口标准去开发插件就完全可以同主体软件有很好的兼容,从而使用户对应用程序进行个性化功能扩展成为了可能。基于转载 2013-01-06 15:17:10 · 763 阅读 · 0 评论 -
查看结构体成员的大小和偏移地址的方法
这个是不小心被我撞见的,看到#define宏定义比较特别,仔细看了一下,发现原来有如此作用(请不要怪我少见多怪哦)。自己编写一小程序试之,贴出代码与运行结果与大家共享。代码:#include #define PACKVALUE 4#pragma pack(push)#pragma pack(PACKVALUE) typedef struct{转载 2008-06-05 15:27:00 · 1571 阅读 · 0 评论 -
使用Custom Draw优雅的实现ListCtrl的重绘
common control 4.7版本介绍了一个新的特性叫做Custom Draw,这个名字显得模糊不清,让人有点摸不着头脑,而且MSDN里也只给出了一些如风的解释和例子,没有谁告诉你你想知道的,和究竟这个特性有什么好处。 Custom draw可以被想象成一个轻量级的,容易使用的重绘方法(重绘方法还有几种,例如Owner Draw等)。这种容易来自于我们只需要处理一个消息(NM_CUS转载 2008-07-29 16:41:00 · 1185 阅读 · 0 评论 -
函数模板学习
1. 函数模板1.1 函数模板的定义函数模板的定义与类模板的定义类型,如:templateType min(Type a,Type b){ return a + b;}同样是使用template,也可以使用template,这里定义了函数的返回值类型,参数类型,也可以在函数模板中使用关键字size定义常量,如:templateType test(转载 2008-05-06 17:30:00 · 511 阅读 · 0 评论 -
使用MAP文件快速定位程序崩溃代码行
使用MAP文件快速定位程序崩溃代码行作为程序员,平时最担心见到的事情就是程序发生了崩溃,无论是指针越界还是非法操作,都将给我们的应用系统造成巨大的损失。但在一个大型系统的测试过程中,初期出现程序崩溃似乎成了不可避免的事。其实测试中出现程序崩溃并不可怕,反而是测试的成功。我们更为关心的是程序中的哪一行导致了系统崩溃,这样我们才能有针对性的进行改正。 在VC中,我们可以利用出现程序崩溃时VC转载 2008-03-03 11:15:00 · 841 阅读 · 0 评论 -
调用PSAPI函数枚举系统进程
PSAPI函数枚举系统进程>> M$的Windows NT开发小组开发了自己Process Status函数,包含在PSAPI.DLL文件中,这些函数只能在高于NT4.0以后的版本中使用。PSAPI一共有14个函数[实际PSAPI.DLL输出函数有19个,但其中有5个函数有两个版本,分别是ANSI和Unicode版本],通过调用这些函数,我们可以很方便的取得系统进程的所有信息,例如进程名、进程转载 2008-02-26 13:49:00 · 1400 阅读 · 0 评论 -
软件文档编写向导
文档分类项目包括如下几类文档; 项目管理文档。包括:《软件项目计划》、《项目进度报告》、《项目开发总结报告》软件开发文档。包括:《需求规格说明》、《概要设计说明》、《详细设计说明》。软件测试文档。包括:《测试计划》、《软件测试分析报告》。产品资料。包括:《用户操作手册》。文档的版本号 本项目文档的版本号由以圆点隔开的两个数字组成,第一个数字表示出版号,第二个数转载 2007-09-29 17:07:00 · 4832 阅读 · 1 评论 -
中病毒-病毒清单
2007-9-26 9:34C:/WindowsDiskman32.exeNVDispDrv.exeC:/Program Files/NetMeeting下隐藏文件有ravytmon.exeravzxmon.exeravytmon.cfgravytmon.datravzxmon.cfgravzxmon.datC:/WINDOWS/system32avpms.dllavpms.cfgm原创 2007-09-29 13:27:00 · 838 阅读 · 0 评论 -
const char*, char const* and char *const
const char*, char const* and char *constconst char*, char const*, char*const的问题几乎是C面试中每次都会有的题目。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。 念作 pointer to的char * const cp; ( * 读成 p转载 2007-09-28 17:07:00 · 528 阅读 · 0 评论 -
打不开regedit.exe、gpedit.msc和taskmgr.exe的解决方法
添加到雅虎收藏+ 添加到del.icio.us 取消 -请选择目标圈子- 取消 作者左岸读书 发表于 2008-05-28 15:22 如果遇到这样的情况,也许你和我一样开始一定想用替换的方法来修复,如果是不一定成功,还费力费神。这里提供一种神奇的方法: 进入windows目录,将regedit.ex转载 2008-06-16 17:12:00 · 11623 阅读 · 1 评论 -
宽字符标量L"xx"在VC6.0/7.0和GNU g++中的不同实现
宽字符标量L"xx"在VC6.0/7.0和GNU g++中的不同实现。锲子:本文源于在VCKBASE C++论坛和周星星大哥的一番讨论,这才使我追根索源,找到了理论依据和实践的证明。(本文一些资料和测试代码由周星星提供)《The C++ Programming Language 3rd》中有这么两段话: from 4.3: A type wchar_ t is provided t转载 2008-07-02 09:47:00 · 858 阅读 · 0 评论 -
编译器处理相关
编译器处理相关 一.预处理器-编译器-汇编器-链接器预处理器会处理相关的预处理指令,一般是以"#"开头的指令。如:#include "xx.h" #define等。编译器把对应的*.cpp翻译成*.s文件(汇编语言)。汇编器则处理*.s生成对应的*.o文件(obj目标文件)最后链接器把所有的*.o文件链接成一个可执行文件(?.exe)1.部件:首先要知道部件(可以暂且狭义地理解为一个转载 2009-09-26 12:08:00 · 462 阅读 · 0 评论 -
windows驱动开发技术详解 VC6与DDK搭配使用的设置
在《windows驱动开发技术详解》中作者提供了两种调式内核程序的方法,有两种编译驱动的办法,一种是用DDK环境来编译,需要在源代码所在目录下创建两个文件makefile和Sources,另一种为vc搭配DDK使用,但不需要写makefile和source文件,第一种 DDK环境来编译 写好文件,在开始菜单中选择“Windows XP Checked Build Environment”转载 2013-01-06 12:51:26 · 907 阅读 · 0 评论 -
DDK
DDK是Device Development Kit,设备开发包的意思。如果你想开发一个设备驱动程序,如显卡驱动程序,就必须使用DDKddk是编写驱动程序用的,你还要有VC++软件开发工具,将ddk导入VC++,然后用C语言编写驱动程序代码,编译后用ddk中的调试软件进行调试,最后生成能用的驱动程序。ddk中有用的是头文件,它提供了大量windows内部函数、结构和变量的定义,通过这些内部转载 2013-01-06 12:55:19 · 756 阅读 · 0 评论 -
OnPaint不停刷新的问题
自定义控件响应WM_PAINT消息,在OnPaint中,默认有CPaintDC dc(this); 如果注释掉CPaintDC dc(this);则程序不停地刷新(计数器不停地飞涨!!),可是如果保留CPaintDC dc(this);,如下: void COpenGLControl::OnPaint() { CPaintDC dc(this); // device context原创 2009-12-04 20:42:00 · 6241 阅读 · 3 评论 -
vc自定义控件PreSubclassWindow及OnCreate
由于自定义控件Custom control需要进行类绑定,只有注册窗口类后才能显示窗口。因此一般定义自定义控件对象后,在构造函数中用AfxRegisterClass注册窗口类,而AfxRegisterClass并不激活WM_CREATE消息,也就是说不能响应到OnCreate函数。那怎么响应OnCreate呢?替代办法:OnCreate的内容可以用PreSubclassWindow代替。COp原创 2009-12-05 00:00:00 · 5068 阅读 · 1 评论 -
如何对键盘消息控制:glut库、win32、MFC
三种情况下对键盘消息控制:glut库键盘消息、win32消息、MFC键盘消息。一、glut库键盘消息1.使用glutKeyboardFunc(keyboard)int main(int argc, char** argv){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH); glutIn原创 2009-12-05 00:10:00 · 5283 阅读 · 0 评论 -
vc自定义控件及类绑定
(1) 基于对话框,添加custom control。 (2) 选择custom control,右键Class Wizard为控件添加控件类。(3) 选择base class(CDialog或CWnd),定义类名,如COpenGLControl。(4) 注册自定义控件窗口类,并在构造函数中调用注册函数。BOOL COpenGLControl::RegisterWn原创 2009-12-05 00:06:00 · 4456 阅读 · 1 评论 -
VC++之随父窗口变化调整控件大小
如果对话框或视类的大小调后,控件的大小和位置没有变化,界面看起来会很不爽. 控件是从CWnd派生的,但不能使用SetWindowPos()或OnSize()或OnSizing()来改变其大小,应在父窗口的WM_SIZE消息中使用MoveWindow()来进行调整。 VC++之根据对话框大小调整控件大小 1、在对话框类中加入成员变量CRect m_rect;用于保存对话框转载 2009-11-01 16:25:00 · 1235 阅读 · 0 评论 -
error LNK2001: unresolved external symbol _main解决办法
error LNK2001: unresolved external symbol _main解决办法 解决外部符号错误:_main,_WinMain@16,__beginthreadex -!tmy`yK 在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有柚煤孟钅坎问? 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示转载 2009-10-29 18:28:00 · 5677 阅读 · 1 评论 -
C++老手也要注意的几个"小"问题
C++老手也要注意的几个"小"问题 第一条就是: const原则:在C++中最好趋向与使用const来修饰它前面的那个类型。如:const int a;和int const b;中,虽然两种具有相同的意义,但是最好利用后面的那种情况,后面的更加可读,因为:int const我们可以很清楚地看到const是修饰int,而前面的那种方法中,我们就不那么轻易知道到底const 的具体涵义。由后面的那转载 2007-09-28 16:29:00 · 691 阅读 · 0 评论 -
多线程的测试
全局:CEvent g_event;UINT MyThreadProc(LPVOID pParam);OnInitDialog()中:AfxBeginThread((AFX_THREADPROC)MyThreadProc,(LPVOID)this);UINT MyThreadProc(LPVOID pParam){ ATLTRACE("thread start/n"); CGraph原创 2007-09-13 16:25:00 · 963 阅读 · 0 评论 -
Cb & Vc 经典大讨论(很长的一篇文章!)?
发信人: TopazY (清凉的水罐), 信区: C++Builder 标 题: Cb & Vc 经典大讨论(很长的一篇文章!)?发信站: BBS 水木清华站 (Thu Aug 31 12:26:49 2000) 查看问题及答案 序号 25 请对 Visual C++与Delphi/C++Builder之比较 一文发表看法 wenyy 来自 http://转载 2007-06-19 16:22:00 · 2597 阅读 · 0 评论 -
CAsyncSocket,CSocket内幕及其用法
CAsyncSocket,CSocket内幕及其用法转载 2007-08-06 16:35:00 · 979 阅读 · 0 评论 -
ADO技术
ADO技术简介 ADO是为MS的强大的数据访问接口 OLE DB 设计的,上一个便于使用的应用程序层。 OLE DB 为任何数据源都提供了高性能的访问,包括:关系型数据库、非关系型数据库、电子邮件、文件系统、文本和图形以及自定义业务对象等。 ADO 2.0 实际上是基于 MSADO15.DLL 这个动态链接库的,这个库文件的名字虽然和 ADO 1.5 的一样,但是它实现了更转载 2007-08-03 12:12:00 · 1331 阅读 · 0 评论 -
VC编码规范
VC编码规范 1 项目风格 1.1 项目取名 在VC之中,项目名为最后可执行文件名,所以项目名最好以最终的可执行文件名一致。 1.2 项目目录设置 为保证VC项目的备份方便、快捷,将所有该项目有关的文件全部放到统一的目录之下,为每个项目在该目录之下建立一个目录,项目之间的公共部分建立在public目录之下,项目所需要的基础库根据所需要的基础库数目分别建转载 2007-07-31 11:41:00 · 916 阅读 · 0 评论 -
数据流图的画法及实例
数据流图的画法及实例数据流图也称为数据流程图date flow diagram , DFD,是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。数据流图的基本组成成分数据流:是由一组固定成分的数据组成,表示数据的流向。值得注意的是,数据流图中描述的是数据流,而不是控制流。转载 2007-07-19 14:59:00 · 29891 阅读 · 0 评论 -
VC中使用Gdi+合并jpg图片
VC中使用Gdi+合并jpg图片合并两张jpg图片为一张jpg图片,思路是先把两张图片jpg图片都转化成bmp图片,然后把两张bmp图片合并成一张bmp图片,然后是把这张bmp图片转化为jpg图片。一。jpg,bmp互相转化/*********************************format:bmp转为jpg, format为image/jpeg,jpg转为bmp,format转载 2007-04-19 15:14:00 · 9734 阅读 · 0 评论 -
线程同步之Win32API的Wait函数
线程同步之Win32API的Wait函数Win32API中的Wait函数非常重要,很多同步都需要Wait函数的配合,Wait函数很多,常用的我就不赘述了,只对一些有用但不常用的函数做一些描述。1.WaitForSingleObject最常用的函数,不用多说了。对于信号灯和信号量,每用一次,信号量减一。DWORD WaitForSingleObject( HANDLE hH转载 2007-07-17 13:22:00 · 1046 阅读 · 0 评论 -
如何限制编辑框中的准许字符以及修改输入的字符
如何限制编辑框中的准许字符以及修改输入的字符使用ClassWizard处理WM_CHAR消息,计算nChar参量并决定所执行的操作,用户可以确定是否修改、传送字符。下例说明了如何显示字母字符,如果字符是字母字符,则调用CWnd ; OnChar,否则不调用OnChar. void CMyEdit : : OnChar (UINT nChar , UINT nRepCnt , UITN nFlags转载 2007-07-17 16:51:00 · 1207 阅读 · 0 评论 -
对话框的数据交换,对里面的函数实现比较详细
对话框的数据交换对话框数据交换指以下两种动作,或者是把内存数据写入对应的控制窗口,或者是从控制窗口读取数据并保存到内存变量中。MFC为了简化这些操作,以CDataExchange类和一些数据交换函数为基础,提供了一套数据交换和校验的机制。 数据交换的方法 首先,定义保存数据的内存变量──给对话框添加成员变量,每个控制窗口可以对应一个成员变量,或者是控制窗转载 2007-07-03 10:16:00 · 922 阅读 · 0 评论 -
SQL语句教程-------SQL语法
SQL语句教程-------SQL语法转载 2007-08-08 09:01:00 · 892 阅读 · 0 评论 -
程序小技巧
一、程序唯一性控制//在APP InitInstance中写/////////这段代码使得本地只能开一个程序实例。 hMutex = ::OpenMutex(MUTEX_ALL_ACCESS,TRUE,"KIPMutexName"); if(hMutex) { HWND hWnd=FindWindow(NULL,"KRISSER"); if(hWnd) ShowWindow(hWnd,SW转载 2007-08-09 16:20:00 · 1135 阅读 · 0 评论 -
vc中ado连接access数据库
直接通过ADO操作Access数据库作者/徐景周 我在《VC知识库在线杂志》第十四期和第十五期上曾发表了两篇文章——“直接通过ODBC读、写Excel表格文件”和“直接通过DAO读、写Access文件”,先后给大家介绍了ODBC和DAO两种数据库访问技术的基本使用方法,这次要给大家介绍的是ADO数据库访问技术的使用方法。ADO(Active Data Object,活动数据对象)实际上是一种转载 2007-08-09 16:22:00 · 1959 阅读 · 0 评论 -
CMM简介
CMM简介 张友生 (本文转载自软件工程专家网www.21cmm.com)转载 2007-06-04 18:25:00 · 920 阅读 · 0 评论 -
IPD的核心思想
IPD的核心思想 思捷达顾问:屠斌飞 IPD是Integrated Product Development 的缩写,即“集成的产品开发”,是新产品开发管理的一种模式,它逐渐兴起于上个世纪的西方企业。蓝色巨人IBM公司的重新崛起在很大程度上得益于IPD的推行,IPD使IBM的多项研发指标得到了重大改善,如:新产品上市周期的大幅度缩短、研发资源浪费比率的显著下降等。对于IT行业,IPD作为转载 2007-06-04 18:30:00 · 2667 阅读 · 0 评论 -
STL 排序(Sort)
STL 排序(Sort) 网上看到这篇文章,觉得写得比较易懂,转过来收藏!! 详细解说 STL 排序(Sort) 0 前言: STL,为什么你必须掌握 1 STL提供的Sort 算法 1.1 所有sort算法介绍 1.2 sort 中的比较函数转载 2007-06-01 09:59:00 · 860 阅读 · 0 评论 -
预处理指令
16 预处理指令1、预处理指令由预处理标记序列组成。序列的首标记为#预处理标记,它或者为源文件中的第一个字符(可位于不包含换行符的空白之后),或者位于至少包含一个换行符的空白之后。序列的最后一个标记是位于序列首标记之后的第一个换行符(因此,预处理指令通常被称为“行”。这些“行”没有其他的句法意义,在预处理中,除了某些情况之外(例如,参见16.3.2的字符串文字创建操作符#),所有的空白都是等价转载 2007-06-01 15:41:00 · 2099 阅读 · 0 评论 -
Skin++ 0.1.3 使用指南
Skin++ 0.1.3 使用指南一.加载Skin++0.将SkinPlusPlusDLL.lib,SkinPlusPlus.h,XPCorona.ssk都复制到当前目录1.在(VC7)"项目->属性->链接器->输入->附加依赖项"中加入SkinPlusPlusDLL.lib 或 在(VC6)"Project->Settings->Link->Object/library"中加入SkinPlus转载 2007-06-01 14:18:00 · 1547 阅读 · 0 评论 -
目录选择对话框
int CALLBACK BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData)//回调函数{ if (uMsg==BFFM_INITIALIZED) { //设置初始目录 if (lpData) SendMessage(hwnd,BFFM_SETSELECTION,TRUE,(LPARAM)lpData);原创 2007-05-18 15:50:00 · 1851 阅读 · 0 评论