1.钩子函数是Windows消息处理机制的一部分,通过设置“钩子”,应用程序可以在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。
WINDOWS的钩子函数可以认为是WINDOWS的主要特性之一。利用它们,您可以捕捉您自己进程或其它进程发生的事件。通过“钩挂”,您可以给WINDOWS一个处理或过滤事件的回调函数,该函数也叫做“钩子函数”,当每次发生您感兴趣的事件时,WINDOWS都将调用该函数。
钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。对每种类型的钩子由系统来维护一个钩子链
2.回调函数:
回调函数就好像是一个中断处理函数,系统在符合你设定的条件时自动调用。为此,你需要做三件事:
1. 声明;
2. 定义;
3. 设置触发条件,就是在你的函数中把你的回调函数名称转化为地址作为一个参数,以便于系统调用。
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数
分割线***************************************************************************
一个类可以实例化多个对象,每个对象都是独立的。如果上面的类实例化了3个对象,就相当于在内存中开辟了3个空间存放对象。同一个类声明的多个对象之间没有任何联系,只能说明他们是同一个类。就想三个人,都有自己的姓名、身高、体重,都可以进行吃饭、睡觉、学习等活动。
关键字::变量名/常量名/方法名
parent关键字:可以调用父类中的成员变量、成员方法和常量。
self关键字:可以调用当前类中的静态成员和常量。
类名:可以调用本类中的变量、常量和方法。
构造方法是对象创建完成后第一个被对象自动调用的方法。它存在于每个声明的类中,是一个特殊的成员方法。如果在类中没有直接声明构造方法,那么类中会默认生成一个没有任何参数且内容为空的构造方法。
关于urlencode:
百度和其他搜索引擎等有些也用这个机制。其实这样做的目的只有一个:防止中文乱码,再没别的用途。
urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%。对字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)
。
如果你传过来的参数值里边没有汉字或其他字符或符号,用urldecode和不用urldecode的结果是一样的;如果有,可以使用urlencode进行编码。使用了这个方式,肯定就得解码(urldecode)
urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符