菜鸟系列问题之(一) 谁能用通俗的语言解释以下名词:1。句柄:2。钩子:请大家不吝赐教,我是个菜鸟,刚开始学vc++,以后还有很多问题。谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.系统中唯一定义一个对象(如菜单、按钮等)的对象,本质上是一个指针,但是使用上与指针完全不同。从字面上说,“柄”其实就是拿住物体的东西,这里其实也一样。2。拦截某个对象的操作,使之优先通知并服务于你的程序。可以有各种不同的钩子如键盘、鼠标、消息钩子等,其实就是钩住这些对象的动作并且你可以自己处理,或者加入自己的操作,或者丢弃,或者pass给系统。 siphonelee(sifone) 讲得好同意 1.系统中唯一定义一个对象(如菜单、按钮等)的对象,本质上是一个指针,但是使用上与指针完全不同。从字面上说,“柄”其实就是拿住物体的东西,这里其实也一样。2。拦截某个对象的操作,使之优先通知并服务于你的程序。可以有各种不同的钩子如键盘、鼠标、消息钩子等,其实就是钩住这些对象的动作并且你可以自己处理,或者加入自己的操作,或者丢弃,或者pass给系统。-----------------------------------参靠《windows程序设计> 句柄(handle): 在标准C库中句柄用来对文件输入输出。在Windows环境中,句柄是用来标识项目的,这些项目包括: *.模块(module) *.任务(task) *.实例(instance) *.文件(file) *.内存块(block of memory) *.菜单(menu) *.控制(control) *.字体(font) *.资源(resource),包括图标(icon),光标(cursor),字符串(string)等 *.GDI对象(GDI object),包括位图(bitmap),画刷(brush),元文件(metafile),调色板(palette),画 笔(pen),区域(region),以及设备描述表(device context)。 WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,WINDOWS API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作。窗口句柄: 系统通过窗口句柄来在整个系统中唯一标识一个窗口,发送一个消息时必须指定一个窗口句柄表明该消息由那个窗口接收。而每个窗口都会有自己的窗口过程,所以用户的输入就会被正确的处理。-------------------钩子(Hook),是Windows消息处理机制的一个平台(point),应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。 这个简单的 MFC 程序应该如何实现? 在MFC下,这段代码放在OnPaint函数中,为什么就是画不上图形? 对话框的显示 工具栏 用CSocket要引用什么库和头文件啊? 怎么实现画流程图软件,图形拾取的问题.... MFC关于引用Excel的问题 这样会不会陷入wm_paint消息(也就是onpaint函数)的死循环,如何避免,谢谢! 请问怎么来处理键盘消息呢?比如说我怎么来响应键盘的方向键呢?在哪里可以查到键盘的常量键值呢? 请用国产编程语言 调用IE的问题 。。。谁用motorola 手机开发过收发短信的程序?
2。拦截某个对象的操作,使之优先通知并服务于你的程序。可以有各种不同的钩子如键盘、鼠标、消息钩子等,其实就是钩住这些对象的动作并且你可以自己处理,或者加入自己的操作,或者丢弃,或者pass给系统。
同意
2。拦截某个对象的操作,使之优先通知并服务于你的程序。可以有各种不同的钩子如键盘、鼠标、消息钩子等,其实就是钩住这些对象的动作并且你可以自己处理,或者加入自己的操作,或者丢弃,或者pass给系统。-----------------------------------参靠《windows程序设计>
在标准C库中句柄用来对文件输入输出。
在Windows环境中,句柄是用来标识项目的,这些项目包括:
*.模块(module)
*.任务(task)
*.实例(instance)
*.文件(file)
*.内存块(block of memory)
*.菜单(menu)
*.控制(control)
*.字体(font)
*.资源(resource),包括图标(icon),光标(cursor),字符串(string)等
*.GDI对象(GDI object),包括位图(bitmap),画刷(brush),元文件(metafile),调色板(palette),画 笔(pen),区域(region),以及设备描述表(device context)。
WINDOWS程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,WINDOWS API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作。窗口句柄:
系统通过窗口句柄来在整个系统中唯一标识一个窗口,发送一个消息时必须指定一个窗口句柄表明该消息由那个窗口接收。而每个窗口都会有自己的窗口过程,所以用户的输入就会被正确的处理。-------------------
钩子(Hook),是Windows消息处理机制的一个平台(point),应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。