
VC学习专栏
danis
二十年资深老程序员。
展开
-
MSDN的一些翻译
Categorical List of MFC Samples每个用到MFC的windows应用程序都必须实现一个继承cwinapp的类,而且只能实例话一次 GetForegroundWindow得到我们调用者进程当前整使用窗口的句柄,(当前用户正在工作的窗口)The GetForegroundWindow function returns a handle to the foreg原创 2007-01-12 23:42:00 · 960 阅读 · 0 评论 -
Lesson4 MFC消息映射机制和CDC类的使用
Lesson4 MFC消息映射机制和CDC类的使用state:finished1.在文档-视图结构中,View类总是覆盖在CMainFrm框架窗口之上的.所以框架窗口无法对 WM_LBUTTONDOWN消息做出响应.2.在添加WM_LBUTONDOWN后,查看我们的工程的源程序变化 查看 DrawView.h-------------------------------------原创 2007-01-14 03:24:00 · 1168 阅读 · 0 评论 -
VC小知识总结!
(1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化.(2) 确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。Example:TCHA原创 2007-01-14 03:33:00 · 1075 阅读 · 0 评论 -
Lesson1 Windows程序内部运行原理
Lesson1 Windows程序内部运行原理State:09061.消息结构体typedef struct tagMSG { // msg HWND hwnd; //标识消息与哪个窗口相关 UINT message; //指示消息本身 WPARAM wParam; //消息的附加消息 LPARAM lParam; //消息的附加消息 DWO原创 2007-01-14 03:39:00 · 898 阅读 · 0 评论 -
进一步理解VC中的句柄
所谓句柄实际上是一个数据,是一个Long (整长型)的数据。 句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。 从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名原创 2007-01-14 03:47:00 · 1325 阅读 · 1 评论 -
Lesson2 掌握C++
Lesson2 掌握C++state:finished1.定义结构体和类时,最后都要加上";".2.C++中结构体中可以有函数.而C语言中是不可以的.3.构造函数(与类同名)与析构函数没有返回值. 构造函数 构造函数最重要的作用是创建对象本身 。 C++规定,每个类必须有一个构造函数,没有构造函数,就不能创建任何对象。 C++又规定,如果一个类没有提供任何的构造原创 2007-01-14 03:54:00 · 743 阅读 · 0 评论 -
Lesson3 MFC应用程序框架
state:1.在MFC的源代码中查找入口函数WinMain(). X:/Program Files/Microsoft Visual Studio/VC98/MFC/SRC APPMODUL.CPP文件中------------------------------------------------------------------------extern "C" int WINA原创 2007-01-14 03:56:00 · 803 阅读 · 0 评论 -
阿超记载类中的回调函数
类中的回调函数(收藏)#1回调函数是函数的一种,都有一样的声明和定义格式。回调函数是其他函数中的参数。也就是说其函数地址作为其他函数的参数。我是这样理解的。回调函数不同的地方有不同的使用方法,一般很少用到,API里常用。回调 原文CALLBACK。 简单来说,当你调用一个函数包含如下的入口参数时,fun(MYFUN* fun1,.....)的时候,我们原创 2007-01-14 03:59:00 · 825 阅读 · 0 评论 -
VC++学习方法及书籍推荐
现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千,很多陌生的出版社,很多陌生的作者,很多陌生的译者,书名也是越来越夸张,什么××天精通××,精通××编程, ××宝典等等,书的印刷质量真的很好,纸张的质量也是今非昔比啊,但书的内容好象却是越来越让人失望,也许是我老了,我的思想我的观念已脱离现实社会,也许是外面的世界变化得太快,我编程数月,出去一走,路已不是原来的路……回家看着书原创 2007-01-14 14:48:00 · 1185 阅读 · 0 评论 -
搞清楚了WPARAM与LPARAM的区别
具体是这么说:“在Win 3.x中,WPARAM是16位的,而LPARAM是32位的,两者有明显的区别。因为地址通常是32位的,所以LPARAM被用来传递地址,这个习惯在Win32 API中仍然能够看到。在Win32 API中,WPARAM和LPARAM都是32位,所以没有什么本质的区别。Windows的消息必须参考帮助文件才能知道具体的含义。如果是你定义的消息,愿意怎么使这两个参数都行。但原创 2007-01-13 01:39:00 · 1134 阅读 · 0 评论 -
回调函数实例与分析
回调函数是一个很有用,也很重要的概念。当发生某种事件时,系统或其他函数将会自动调用你定义的一段函数。回调函数在windows编程使用的场合很多,比如Hook回调函数:MouseProc,GetMsgProc以及EnumWindows,DrawState的回调函数等等,还有很多系统级的回调过程。本文不准备介绍这些函数和过程,而是谈谈实现自己的回调函数的一些经验。之所以产生使用回调函数这个想法,是因为转载 2007-02-28 19:07:00 · 1546 阅读 · 0 评论 -
16进制
16进制有0-F六个数字,它为表示十到十五的数字采用了A、B、C、D、E、F六个数字,他们和十进制的对应关系是:A对应于10, B对应与11, C对应于12,D对应与13,E对应于14,F对应与于15而且,16进制数和二进制数间有一个简单的对应关系,那就是:四位二进制数相当于一个16进制数,比如一个四位的二进制数1111就相当于16进制的F,1010就是A原创 2007-01-12 23:45:00 · 2884 阅读 · 0 评论 -
一个模拟金山毒霸等软件查毒过程的小程序
//--一个模拟金山毒霸等软件查毒过程的小程序//--参考了JIURL朋友的程序//--04/28/2006 Friday//--Computer Lab//--Micro_lee#include #include #include #include #include void main(){ HANDLE hOut; hOut=GetStdHandle(STD_OUTPUT_HANDLE);原创 2007-01-13 00:15:00 · 989 阅读 · 0 评论 -
写一个关闭显示器的小程序
开始照着网上很多文章说的 SendMessagege(GetDesktopWindow(), WM_SYSCOMMAND, SC_MONITORPOWER, 2); 发现并不能关闭显示器,我找了半天都没找出问题的所在。因为网上找出很多文章都异口同声地这么说,所以根本就没有怀疑这里的代码出了问题。 后来发现了一篇Delphi的贴子,发现它调用这个函数时第一个参数(即消息发送的目标窗口是该程原创 2007-01-13 02:23:00 · 879 阅读 · 0 评论 -
strcpy函数
strcpy(s1,s2); strcpy函数的意思是:把字符串s2中的内容copy到s1中,连字符串结束标志也一起copy.这样s1在内存中的存放为:ch/0如果说s1的长度是6,那是错误的.你没有弄清strlen与sizeof的意思。strlen函数的意思是测试字符串的字符长度,不含字符串结束标志的。sizeof是个运算符,它的结果是字符串在内存中的所占字节大小,它要把/0算进去的。原创 2007-01-12 23:39:00 · 664 阅读 · 0 评论 -
OnCommand的解释
OnCommand(WPARAM wParam,LPARAM lParam); 悬赏分:50 - 解决时间:2005-12-9 16:01参数是什么意思? 我用VC++编程,他是CWND的成员函数OnCommand是响应WM_COMMAND消息的,一般是响应控件和菜单的命令消息时使用。 在使用LRESULT CALLBACK WndProc(HWND hWnd,UINT nMsg, WPA原创 2007-01-12 23:41:00 · 2997 阅读 · 0 评论 -
一段保存文件的代码
int iTotal = m_listUploaded.GetItemCount(); int iSel = 0; CString strListPath; CString SavePath = "C://"; for(; iSel { strListPath = m_listUploaded.GetItemText(iSel, 0); if(strPath.Compare(strList原创 2007-01-12 23:41:00 · 958 阅读 · 0 评论 -
动态链接库
LoadLibrary 加载一个动态链接库映射指定的地址模块,到一个调用进程的地址空间。LIBRARY 指定动态连接库的内部名称比如LIBRARY DLL2EXPORTSaddsubstructHMODULE LoadLibrary( LPCSTR )_declspec(dllimport) 是说这个函数是从别的DLL导入。我要用。 _de原创 2007-01-12 23:44:00 · 706 阅读 · 0 评论 -
减小Exe, DLL 的大小问题 - VC
1. 普通Exe 文件完全可以使用下面方法: A. link标记: /nodefaultlib 代表: Ignore all default libraries包括运行时库, 都不用. 当然如果大家要用相关c运行时库的api 怎么办呢? 可以使用相关对应的API, 比如strcmpi, 使用lstrcmpi, 详细请参考下表:原创 2007-01-13 00:37:00 · 1245 阅读 · 0 评论 -
Windows数据类型探幽——千回百转你是谁?
Windows Data Types Windows数据类型 由微软Windows操作系统所支持的各种数据类型是用来定义函数的返回值、函数和消息的参数以及结构体成员(因为Win32程序是用C语言来编写,所以没有“类”这个概念)的。这些数据类型定义了上述元素的尺码(在内存中的,也就是占用内存的字节数)和含义。笔者以前一直不太注意这些东西,结果在程序设计时可谓步履维艰。不同类原创 2007-01-29 20:40:00 · 903 阅读 · 0 评论