- 博客(19)
- 资源 (17)
- 收藏
- 关注
原创 WM_SETTINGCHANGE
WM_SETTINGCHANGE是个Windows的常用消息,当程序修改了SystemParametersInfo设置,则Windows就会广播此消息。但WM_SETTINGCHANGE也比较多地用在其它情形。一般情况下,wParam/uFlags时0,lParam/pszSection是WIN.INI段名或被修改部分的注册表键(只是最终的键,而不是整个串)。事实上,WM_SETTINGCHA
2013-05-30 18:49:17 5623
转载 BSS段、数据段、代码段、堆与栈
BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code segment/text segment)通
2013-05-30 17:18:02 543
原创 创建画刷的几种形式
HBRUSH hbr;第一种: hbr= CreateSolidBrush(RGB(255,0,0)); //创建单色的画刷第二种: hbr= (HBRUSH)GetStockObject(BLACK_BRUSH); //只能取特定颜色的画刷,如BLACK_BRUSH,GRAY_BRUSH刷第三种: hbr= CreatePa
2013-05-30 15:39:04 10319
原创 取得设备内容句柄方法汇总
Windows提供了几种取得设备内容句柄的方法。如果在处理一个消息时取得了设备内容句柄,应该在退出窗口函数之前释放它(或者删除它)。一旦释放了句柄,它就不再有效了。对于打印机设备内容句柄,规则就没有这么严格。最常用的取得并释放设备内容句柄的方法是,在处理WM_PAINT消息时,使用BeginPaint和EndPaint呼叫:hdc = BeginPaint (hwnd, &ps) ;
2013-05-30 11:51:57 2211
原创 PAINTSTRUCT结构
中文解释:该结构体包含了某应用程序用来绘制它所拥有的窗口客户区所需要的信息。PAINTSTRUCT定义typedef struct tagPAINTSTRUCT {HDC hdc;BOOL fErase;RECT rcPaint;BOOL fRestore;BOOL fIncUpdate;BYTE rgbReserved[32];
2013-05-30 09:26:03 7499
转载 关于char转换成LPCWSTR的问题
char buffer[80]; 方法一: wsprintf(buffer,L"WM_CHAR: Character = %c ",ascii_code); TextOut(hdc, 0,0,(LPCWSTR)buffer, strlen(buffer));这个只能显示第一个字母“W”方法二: sprintf((LPCWSTR)buf
2013-05-28 20:44:17 895
转载 VS2005的Command Window 调试命令的总结
调试命令的总结,挺有用的,所以转过来了。调试的时候,可以在VS2005的Command Window中输入调用。以 Unicode 形式列出内存>du 0x056769d0 原稿: http://msdn.microsoft.com/en-us/library/c338aexd.aspx[摘]“命令”窗口用于直接在 Visual Studio 集成开发环境 (IDE
2013-05-28 18:22:55 652 1
转载 OnPaint()和OnEraseBkgnd()
问题是这样产生的.在OnEraseBkGnd中,如果你不调用原来缺省 的OnEraseBkGnd只是重画背景则不会有闪烁.而在OnPaint里面, 由于它隐含的调用了OnEraseBkGnd,而你又没有处理OnEraseBkGnd 函数,这时就和窗口缺省的背景刷相关了.缺省的 OnEraseBkGnd操作使用窗口的缺省背景刷刷新背景(一般情况 下是白刷),而随后你又自己重画背景
2013-05-28 12:33:11 797
转载 C/C++中const关键字详解
为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量: const 类型说明符 变量名 常引用: const 类型说明符 &引用名 常对象: 类名 const 对象名 常成员函数:
2013-05-28 09:37:27 599
转载 C++ string CString 详解
前言: string 的角色 1 string 使用 1.1 充分使用string 操作符 1.2 眼花缭乱的string find 函数 1.3 string insert, replace, erase 2 string 和 C风格字符串 3 string 和 Charactor Traits 4 string 建议 5 小结 6 附录前言: string 的角
2013-05-28 08:55:03 1364
原创 全局变量的使用
1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌 入式下做开发工作的话,那么你可能非常的理解编译与连接的区别!当在VC这样的开发工具
2013-05-28 08:32:31 6574 1
原创 得到当前窗口句柄
HWND hwnd;hwnd=CreateWindow("my own windowshandle","jaycnvip",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);这是用一个句柄变量来保存新创建的窗口句柄。其它如:通过窗口标题获取窗口句柄CWnd *pWnd = FindWindow(_T("#32770"),
2013-05-27 09:53:22 10964
原创 while (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
项目中用到了好多这个消息循环,很是困惑。遂百度之,难道一个窗口下可以有多个消息循环吗?百度结果都是介绍和GetMessage区别的,正经的说这个有啥作用的,少之又少。不过有一篇英文的不错,这是出处,可以参考一下http://blog.csdn.net/scofieldlau/article/details/1965517#t0。奈何我的疑惑仍然为解。最后查看MSDN,清晰一二原文
2013-05-24 14:54:01 8719 2
转载 程序员的九重境界
第一重: 在哪本电脑杂志上看见软件工程师这个职业介绍,或者走在大街上看见某某软件培训机构鼓吹培训完就能年薪10万的广告,有些羡慕那些编程序的,自己有些蠢蠢欲动。 第二重: 用控制台或者说SDK之类的东西写了一个“HELLO WORLD!”,感觉编程这个东西,太简单没难度。 第三重: 学会了简单的使用某某工具例如VC,知道怎么利用工具创建对话框之类的东西了,认为自己已经有了“扎实”的基础,出
2013-05-23 09:49:10 572
原创 关于.h和C/C++混编
1 .h 的在编译中的作用 一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。而且 .c就是你写的程序文件。 一
2013-05-22 11:17:40 775
原创 PostThreadMessage 的使用
#include #include #include #define MY_MSG WM_USER+100const int MAX_INFO_SIZE = 20;HANDLE hStartEvent; // thread start event// thread functionunsigned __stdcall fun(void *param){ printf(
2013-05-20 16:04:10 4037
原创 srand()以及rand()函数用法
rand(void)用于产生一个伪随机unsigned int 整数。 srand(seed)用于给rand()函数设定种子。srand 和 rand 应该组和使用。一般来说,srand 是对 rand 进行设置。 比如: srand((UINT)GetCurrentTime()); int x = rand() % 100; 是生成 0 到 100 之间的随机数。sr
2013-05-18 11:09:28 755
原创 Slepp(0)
微软的msdn: A value of zero causes the thread to relinquish the remainder of its time slice to any other thread of equal priority that is ready to run. If no other threads of equal priority are ready t
2013-05-17 09:45:51 845
原创 消息分流器
通常的窗口过程是通过一个switch语句来实现的,这个事情很烦,有没有更简便的方法呢?有,那就是消息分流器,利用消息分流器,我们可以把switch语句分成更小的函数,每一个消息都对应一个小函数,这样做的好处就是对消息更容易管理。之所以被称为消息分流器,就是因为它可以对任何消息进行分流。下面我们做一个函数就很清楚了:void MsgCracker(HWND hWnd,int id,HWN
2013-05-16 12:29:59 670
Windows核心编程 高清,带目录china-pub 出品版
2018-11-27
NumPy攻略 Python科学计算与数据分析.
2018-01-16
程序员的数学1
2017-12-19
程序员的数学2 概率统计
2017-12-19
程序员的数学
2017-12-19
Qt SQLite开源浏览工具源码
2017-12-08
VC++ IO完成端口 网络考试系统(服务器+用户端+数据库+源代码)
2014-07-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人