Windows核心编程笔记

1、程序能够使用的C / C + +运行期全局变量
变量名                            类型                                                  说明
_ o s v e r                      unsigned int                          操作系统的测试版本。例如, Windows 2000 Beta 3是测试版本2 0 3 1。因此_ o s v e r的值是2 0 3 1
_ w i n m a j o r           unsigned int                        采用十六进制表示法的Wi n d o w s主要版本。对于Wi n d o w s2 0 0 0来说,它的值是5
_ w i n m i n o r           unsigned int                        采用十六进制表示法的Wi n d o w s次要版本。对于Wi n d o w s2 0 0 0来说,它的值是0
_ w i n v e r              unsigned int                          ( w i n m a j o r < < 8 ) + w i n m i n o r在命令行上传递的参数号
- - a rg c                   unsigned int
- - a rg v                   c h a r * *                              带有指向A N S I / U n i c o d e字符串的指针的_ a rg c大小的数组
- - w a rg v                w c h a r t * *                       每个数组项均指向一个命令行参数
_ e n v i r o n            c h a r * *                             指向A N S I / U n i c o d e字符串的指针的数组。每个数组项指向
_ w e n v i r o n         w c h a r t * *                      一个环境字符串
_ p g m p t r             c h a r *                                正在运行的程序的A N S I / U n i c o d e全路径和名字
_ w p g m p t r         w c h a r t *

第一次认识_pgmptr/_wpgmptr/_tpgmptr,原来获得程序的路径也可以用这个全局变量的,在VC2005中测试,编译时提示:warning C4996: “_wpgmptr”被声明为否决的

 

2、H M O D U L E与H I N S TA N C E是完全相同的对象

( w ) Wi n M a i n的h i n s t E x e参数的实际值是系统将可执行文件的映象加载到进程的地址空间时
使用的基本地址空间。例如,如果系统打开了可执行文件并且将它的内容加载到地址
0 x 0 0 4 0 0 0 0 0中,那么( w ) Wi n M a i n的h i n s t E x e参数的值就是0 x 0 0 4 0 0 0 0 0。

请记住G e t M o d u l e H a n d l e函数的两个重要特性。首先,它只查看调用进程的地址空间。如
果调用进程不使用常用的对话框函数,那么调用G e t M o d u l e H a n d l e并为它传递“C o m D l g 3 2”后,
就会返回N U L L,尽管C o m D l g 3 2 . d l l可能加载到了其他进程的地址空间。第二,调用
G e t M o d u l e H a n d l e并传递N U L L值,就会返回进程的地址空间中可执行文件的基地址。因此,
即使通过包含在D L L中的代码来调用( N U L L),返回的值也是可执行文件的基地址,而不是
D L L文件的基地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值