
Win32/Api
文章平均质量分 81
Pspio
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
谈谈父窗口和所有者窗口
<br />一、概念和区别<br /> 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。<br /> 所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为拥有/被拥有关系,后者称之为父/子关系。在这篇文字中,我把owner窗口称之所有者窗口。转载 2010-09-09 17:57:00 · 634 阅读 · 0 评论 -
getsockopt/setsockopt 函数说明
<br /><br />【 getsockopt/setsockopt系统调用】 <br /> <br />功能描述: <br />获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。<br /><br />用法: <转载 2010-09-11 21:59:00 · 5413 阅读 · 0 评论 -
Microsoft CryptoAPI加密技术(二)
<br /> <br />Microsoft CryptoAPI加密技术(二)<br />作者:Cuick<br />下载本文示例源代码<br /><br />上次我们讲了Microsoft CryptoAPI的构成以及会话密钥的使用。接下来我们将看一下公私密钥对的使用、HASH算法、数字签名等技术。<br />一、 公用密钥加密技术<br /><br />公用密钥加密技术使用两个不同的密钥:公钥和私钥。私钥必须安全的保管好不能被外人知道,而公钥可以告诉任何人,只要他需要。通常公钥是以数字证书的形式转载 2010-09-23 15:45:00 · 673 阅读 · 0 评论 -
DLL(Dynamic Link Libraries) 专题
目录引言调用方式MFC中的DLLDLL入口函数关于约定关于DLL的函数模块定义文件(.DEF)DLL程序和调用其输出函数的程序的关系作者引言比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;转载 2010-09-23 14:14:00 · 708 阅读 · 0 评论 -
Microsoft CryptoAPI加密技术(一)
Microsoft CryptoAPI加密技术(一)作者:Cuick下载本文示例源代码在这个信息爆炸的时代,我们不得不对信息的安全提高警惕。加密作为保障数据信息安全的一种方式,越来越受到人们的关注。下面,我将把自己对Microsoft CryptoAPI的一些肤浅的理解与大家共享,有什么不妥之处望不吝赐教。一、 加密方法:当初,计算机的研究就是为了破解德国人的密码,人们并没有想到计算机给今天带来的信息革命。随着计算机的发展,运算能力的增强,密码学已经取得了巨大的进展。大体来说有以下几种形式。1、转载 2010-09-23 15:38:00 · 604 阅读 · 0 评论 -
Invalidate与UpdateWindow的区别
<br /><br />Invalidate让客户区无效,处于可以重画的状态,并不会立即重画;UpdateWindow可以立即重画,但是它要先判断客户区是否为空(即是否为无效),不空UpdateWindow不执行,为空才执行重画。<br />Invalidate与UpdateWindow的区别如下:<br />void Invalidate( BOOL bErase = TRUE );<br />该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个窗口由非前台窗口变成了前台窗口转载 2010-10-17 16:57:00 · 805 阅读 · 0 评论 -
OnEraseBkGnd与OnPaint的区别与联系
<br /><br />在OnEraseBkGnd中,如果你不调用原来缺省的OnEraseBkGnd只是重画背景则不会有闪烁.而在OnPaint里面,由于它隐含的调用了OnEraseBkGnd,而你又没有处理OnEraseBkGnd 函数,这时就和窗口缺省的背景刷相关了.缺省的 OnEraseBkGnd操作使用窗口的缺省背景刷刷新背景(一般情况下是白刷),而随后你又自己重画背景造成屏幕闪动.<br />OnEraseBkGnd不是每次都会被调用的.如果你调用Invalidate的时候参数为TRUE,那么在O转载 2010-10-17 16:59:00 · 1074 阅读 · 0 评论