linux源代码中有很多变量以handler结尾,代表什么意思和window里面的句柄有什么区别?求助:如何获取当前窗口句柄
本文目录
- linux源代码中有很多变量以handler结尾,代表什么意思和window里面的句柄有什么区别
- 求助:如何获取当前窗口句柄
- 在cad 选中某一图形时,输入命令Li 后,文本窗口中句柄是什么意思
- VC++/MFC 中 HICON 声明的变量什么意思
- 为什么要使用句柄
- 什么叫获得一个图片的资源句柄,其中的句柄叫什么
linux源代码中有很多变量以handler结尾,代表什么意思和window里面的句柄有什么区别
这里发估计没几个人都回答你,因为涉及到linux源代码。这个handler和句柄完全不是一回事,句柄的英文是handle:)handler是处理程序的意思,比如中断有相应中断的内核中断处理程序 - interrupt handler;信号有信号处理程序 signal handler我只能尽我最大力量回答你,我没看过内核代码,不过对内核还懂些。希望即使没帮到你 也启发了你
求助:如何获取当前窗口句柄
调用格式: 〈整数型〉 对象.取窗口句柄 () - 系统核心支持库-》窗口 英文名称:GetHWnd 取出本窗口或窗口组件的窗口句柄(即HWND)。本命令为高级对象成员命令。 操作系统需求: Windows调用格式: 〈整数型〉 取鼠标所在窗口句柄 () - 应用接口支持库-》窗口操作 英文名称:GetHwndFromPoint 取鼠标所在窗口句柄。本命令为初级命令。 操作系统需求: Windows
在cad 选中某一图形时,输入命令Li 后,文本窗口中句柄是什么意思
句柄,英文为 Handle在一幅图形中这个是唯一的,每个对象都有一个handle,十六进制的数值 。
VC++/MFC 中 HICON 声明的变量什么意思
在MFC中,H是句柄的意思,H开头的变量都是句柄变量,Icon是英文单词图标,所以这个是一个图标的句柄。类似的还有HWnd,其中Wnd是window是缩写,就是窗口句柄。你最好找找MFC中的一些命名规则看一下,对你以后看代码写代码有帮助的
为什么要使用句柄
这些重要的对象肯定不是4个字节或者8个字节足以完全描述的,他们拥有大量的属性。为了保存这样一个"对象"的状态,往往需要上百甚至上千字节的内存空间,那么怎么在程序间或程序内部的子过程(函数)之间传递这些数据呢?拖着这成百上千的字节拷贝来拷贝去吗?显然会浪费效率。那么怎么办?当然传递这些对象的首地址是一个办法,但这至少有两个缺点:所以,Windows操作系统就采用进一步的间接:在进程的地址空间中设一张表,表里头专门保存一些编号和由这个编号对应一个地址,而由那个地址去引用实际的对象,这个编号跟那个地址在数值上没有任何规律性的联系,纯粹是个映射而已。在Windows系统中,这个编号就叫做"句柄"。也就是说,如果不在乎浪费空间的话,在某些情况下可以不使用句柄,直接对文件进行操作。——————————————————————————————————————————————原文如下:《什么是句柄?为什么会有句柄?HANDLE》从广义上,能够从一个数值拎起一大堆数据的东西都可以叫做句柄。句柄的英文是"Handle",本义就是"柄",只是在计算机科学中,被特别地翻译成"句柄",其实还是个"柄"。从一个小东西拎起一大堆东西,这难道不像是个"柄"吗?Windows系统中有许多内核对象(这里的对象不完全等价于"面向对象程序设计"一词中的"对象",虽然实质上还真差不多),比如打开的文件,创建的线程,程序的窗口,等等。这些重要的对象肯定不是4个字节或者8个字节足以完全描述的,他们拥有大量的属性。为了保存这样一个"对象"的状态,往往需要上百甚至上千字节的内存空间,那么怎么在程序间或程序内部的子过程(函数)之间传递这些数据呢?拖着这成百上千的字节拷贝来拷贝去吗?显然会浪费效率。那么怎么办?当然传递这些对象的首地址是一个办法,但这至少有两个缺点:所以,Windows操作系统就采用进一步的间接:在进程的地址空间中设一张表,表里头专门保存一些编号和由这个编号对应一个地址,而由那个地址去引用实际的对象,这个编号跟那个地址在数值上没有任何规律性的联系,纯粹是个映射而已。在Windows系统中,这个编号就叫做"句柄"。Handle在Windows中的含义很广泛,以下关于谈到的Handle除非特别说明,将仅限于进程、线程的上下文中。1、先来谈谈HandleHandle本身是一个32位的无符号整数,它用来代表一个内核对象。它并不指向实际的内核对象,用户模式下的程序永远不可能获得一个内核对象的实际地址(一般情况下)。那么Handle的意义何在?它实际上是作为一个索引在一个表中查找对应的内核对象的实际地址。那么这个表在哪里呢?每个进程都有这样的一个表,叫句柄表。该表的第一项就是进程自己的句柄,这也是为什么你调用GetCurrentProcess()总是返回0x7FFFFFFF原因。简单地说,Handle就是一种用来"间接"代表一个内核对象的整数值。你可以在程序中使用handle来代表你想要操作的内核对象。这里的内核对象包括:事件(Event)、线程、进程、Mutex等等。我们最常见的就是文件句柄(file handle)。另外要注意的是,Handle仅在其所属的进程中才有意义。将一个进程拥有的handle传给另一个进程没有任何意义,如果非要这么做,则需要使用DuplicateHandle(),在多个进程间传递Handle是另外一个话题了,与这里要讨论的无关。2、进程ID首先,进程ID是一个32位无符号整数,每个进程都有这样的一个ID,并且该ID在系统范围内是唯一的。系统使用该ID来唯一确定一个进程。深入些说,系统可能使用进程ID来计算代表该进程的内核对象的基地址(及EPROCESS结构的基地址),具体的计算公式你可以去问微软的OS开发人员。3、HINSTANCE
什么叫获得一个图片的资源句柄,其中的句柄叫什么
句柄 Handler 翻译自英文,这个词,不知是谁翻译的,中文很费解。句柄 实际上是一个 无符号的整型 数,相当 于 一样 东西 (c/c++中的对象)的 id,或 统一代号。也就是 某一程序中 第几号 object.例如, 程序中 要绘图,要处理某图片,某位图 bitmap,命令中 要用 第几号 object来 识别,来 简化命令。 所以当 建立 一个 对象时,同时 要 获得 它的 句柄。例如:获得位图对象:GetObject(hBitmap, sizeof(BITMAP), &Bitmap);获得此 位图的 句柄 (就是它的 id, 第几号东西):hBitmap = (HBITMAP)Bitmap接下来可在 CDC 里 画它了。hBitmap 就是 句柄。
本文相关文章:
sometime sometimes(sometime和sometimes有什么区别分别怎么用,请造句举例)
2024年9月10日 10:05
哈希码和磁力衔接有什么区别哈希码怎么用?设随机Hash表的长度为n=8
2024年9月6日 00:55
c语言中函数abs 和 fabs有什么区别?C语言中fabs表示什么意思
2024年9月4日 08:10
slave和slavery有什么区别同样是名词,同样有奴隶的意思?slave的近义词
2024年9月3日 23:15
fgets函数的理解(MATLAB 里面fgets和fgetl有什么区别)
2024年8月26日 04:20
有关javascript的参考文献(javaScript和java有什么区别两者分别运用于哪些方面)
2024年8月22日 22:35
cstring是什么(LPCTSTR和CString有什么区别)
2024年8月21日 05:25
文本编辑器和编译器的区别(编译器跟编辑器有什么区别还有什么是链接器)
2024年8月18日 06:25
快速格式化和普通格式化(电脑正常格式化和快速格式化有什么区别)
2024年8月16日 23:41
lostfocus(VB程序中GotFocus事件和LostFocus事件有什么区别)
2024年8月13日 02:45
jsp与web的区别(java web和jsp做出来的网页有什么区别哪个更容易做动态网站)
2024年8月10日 11:55
sql和excel的区别(数据库 sql 和excel有什么区别为什么我们不用sql呢只有sap)
2024年8月8日 16:25
representation用法(presentation和representation有什么区别)
2024年8月3日 12:30
vb语言是高级语言吗(VB语言和C语言有什么联系吗二者又有什么区别VB语言比C语言高级吗)
2024年7月27日 04:45
forefront(sharepoint和forefront有什么区别)
2024年7月25日 14:55
const和static(c#中static和const有什么区别)
2024年7月24日 16:54
大学嵌入式培养指什么(大学的同一专业,嵌入式培养和非嵌入式培养有什么区别)
2024年7月24日 14:52
iomanip和iostream(c++中的iomainp.h和iostream.h有什么区别)
2024年7月24日 12:03
更多文章:
联想thinkpad x300(联想thinkpadx300案例分析)
2024年7月11日 16:16
cpu fan error(cpu fan error按f1)
2024年7月20日 12:23