Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1031508
  • 博文数量: 146
  • 博客积分: 3444
  • 博客等级: 中校
  • 技术积分: 1602
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-21 15:18
文章分类

全部博文(146)

文章存档

2014年(9)

2013年(3)

2012年(6)

2011年(44)

2010年(38)

2009年(46)

分类: C/C++

2009-09-27 10:40:59

typedef  char Str
此处定义一个char的别名Str,以后可以用Str定义变量,如 Str cName是定义一个char变量;

typedef char *pStr;
这里因为 *pStr对应char,所以pStr对应char*
所以pStr pName是定义了一个char指针的变量

不知道上述理解是否正确。

#define pStr char* 在展开是只是简单的用char* 替换pStr
而typedef char *pStr则是为char* 取了一个新名字pStr
所以用法上还是存在区别的,用typedef好一点
 
char* p1和const char* p2是定义了两个指向char对象的指针,const限定的数据对象的类型是char,p1,p2两个指针其实都没有限定符,只是它们指向的对象*p1,*p2有限定符,一个指向char,一个指向const char而已。所以p2++是正确的,(*p2)++是错误的
 
但是typedef char* pStr;
const pStr p3;中
p3++是错误的!!!因为在typedef char* pStr;中pStr本身就是一种“新的”数据类型
const pStr p3;是定义了一个数据类型为pStr的常量对象,所以p3是不能改变的!!!
 
句柄是指向对象(结构体)的一个指针,还是就是这个对象的地址??估计是前者!
不同的对象需要相对应类型的句柄,所以句柄在C中的作用就是对象指针在C++中的作用。。
一是可以区分对象类型,二是可以引用这个对象
 
用C代码禁用QQ登录窗口的输入框:只需要在程序在调用下面这个函数就可以了。
void  kk(){
 HWND hCurWindow,HC,HE;//定义三个窗口句柄变量,hCurWindow用于存放QQ用户登陆窗口的句柄,HC、HE分别存放//号码框和密码框的句柄。
 if((hCurWindow= FindWindow(NULL,L"QQ2009 正式版"))!=0(hCurWindow=FindWindow(NULL,L"QQ用户登录"))!=0)
 {//很明显,调用FindWindow()函数去获得QQ登陆窗口的句柄
 //String str;
 //str.sprintf("0x%x",hCurWindow);
 }
 TCHAR wClassName[255];//类名变量
 HC=GetWindow(hCurWindow, GW_CHILD);//得到号码框的句柄
 HE=GetWindow(HC, GW_HWNDNEXT);//接着得到密码框的句柄
 GetClassName(HE, wClassName, sizeof(wClassName));//得到类名
 GetClassName(HC, wClassName, sizeof(wClassName));//得到类名
 EnableWindow(HE,false);//使窗口失效
 EnableWindow(HC,false);//使窗口失效
}
如果加上下面这句,那么会自动关掉QQ登录窗口
SendMessage(hCurWindow,WM_CLOSE,0,0);
加下面一句可以隐藏窗口
ShowWindow(hCurWindow,SW_HIDE);
阅读(1242) | 评论(0) | 转发(0) |
0

上一篇:gcc 编译过程(转)

下一篇:Makefile 介绍

给主人留下些什么吧!~~