获取窗口句柄有什么用

如题所述

了解什么是句柄就好理解了

就是获得这个窗口的识别代码

句柄就是用来区分各种内存对象的唯一标识符号,是个32位整数。
有些是整个系统唯一(如窗口句柄),有些是当前进程或线程中唯一
(如线程句柄,全局的有另一个标识符)。

详细的可分为许多种,都是以H开头的。在VB中使用时全部都用Long。
常见的有窗口句柄(HWND),设备描述表句柄(HDC),内存句柄(HMEM),
文件句柄,进程句柄,线程句柄,笔的类型句柄(HPEN),字体句柄(HFONT),
区域句柄(HRGN)等等。

在申请句柄时是要占用资源的,分三类SYSTEM、USER、GDI。
而WINDOWS的资源是固定的,并不随内存的扩大而扩大,所以使用完以后一定要释
放。
>
如果只用VB本身的代码一般是不会用到句柄的,但要是使用API函数的话,
大多数会使用。
再Windows系统中,句柄(我一直觉得这个词翻译得特别别扭)分为三大类:Kernel
Handle、UserHandle和应用程序自定义的Handle。
KernelHandle实际上是进程内Kernel对象的指针表索引,Kernel对象包括进程、文
件、信号等。但是MS为了掩盖着一事实,在系统启动时生成了一个所谓Obsfucator的值
(其实应该是Obfuscator,MicrosoftBugs(R):),生成Handle后将Handle与这个值异
或后返回给应用程序,所以看到的Handle都是一些很大而且毫无意义的数字。这些
Handle和索引的对象是由KRNL32.DLL和VMM32.VXD共同管理的,所以称之为Kernel
Handle。
UserHandle是用来标示窗口、DC等对象的,他们是真实的指针,但指向的并不是对象
的开头,有一个偏移量。同样,这些对象是由USER32.DLL管理的。
第三种Handle不过是应用程序自定义的一些索引之类的东东,具体的意义和应用程序相关
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-15
句柄是窗口的标识符,对于窗口的操作,需要通过句柄先找到窗口,然后才能进行。
第2个回答  2011-07-15
Public Declare Function SetWindowContextHelpId Lib "user32" Alias "SetWindowContextHelpId" (ByVal hWnd As Long, ByVal dw As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Public Declare Function SetWindowRgn Lib "user32" Alias "SetWindowRgn" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Public Declare Function SetWindowPlacement Lib "user32" Alias "SetWindowPlacement" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
这些不都需要句柄吗?
句柄就像QQ号一样,是一个索引,也意味着一个地址,它可能指向某有意义的数据结构的指针,然后函数通过查找结构成员来获得相关信息
第3个回答  2011-07-15
可以操作窗口基本常规行为
也可以SendMessage或PostMessage消息
第4个回答  2011-07-15
可以对获取句柄的窗口进行操作

按键精灵句柄的作用是什么?
获得这个句柄就可以实现在后台进行针对这个窗口(程序)的操作。例如:在这一窗口中输入一段文字,在某一座标进行单击,双击等。提取句柄的方法可以参考按键精灵的帮助.也可以全部命令--插件命令--Windows窗口插件找到。例如:Hwnd = Plugin.Window.Find(0, "无标题 - 记事本")'查找当前打开的程序中标题为"...

求大神们说一下易语言取窗口句柄的作用(完整点,我是菜鸟)。。。_百度...
取得句柄后,可以通过调用或者识别判断窗口来进行激活、改变、更改、后台等等操作。

我想问下 我获取了窗口句柄 这个有什么用呢 然后我怎么用这个窗口句柄...
在Windows中,句柄是一个系统内部数据结构的引用。例如当你操作一个窗口,系统会给你一个该窗口的句柄,系统会通知你:你正在操作142号窗口,就此你的应用程序就能要求系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口极小化为图标等。实际上许多Windows API函数把句柄作为它的第一个参数,如G...

易语言里取窗口句柄什么意思,一般用在什么地方
拿到了窗口句柄,就可以进行很多操作,例如操作其它软件的窗口里股的文本框,向外部文本框发送消息, 自动填写内容, 控制外部软件置顶, 监控外部软件是否运行,例如说,你写了一个软件,有时挂一晚上,你不知道是不是突然停止了, 你再写一个软件,监控它,如果软件无意停止关闭了, 另一个软件就是通过...

什么是窗口句柄?
窗口句柄的主要作用是帮助操作系统跟踪和控制窗口。当用户在系统中创建、关闭、移动或调整窗口大小时,操作系统通过窗口句柄来执行这些操作。例如,当用户点击一个窗口的按钮时,操作系统会发送一个信号到与该窗口关联的句柄,从而执行相应的操作。三、窗口句柄的实现 在编程中,窗口句柄通常是一个整数或指针...

什么是窗口句柄?
在实际应用中,获取窗口句柄是许多Windows API函数的第一步。例如,使用SendMessage函数向窗口发送消息时,需要指定目标窗口的句柄作为第一个参数。此外,还有许多其他API函数,如GetWindowRect、SetWindowText等,都需要窗口句柄作为参数来执行相应的操作。总的来说,窗口句柄是Windows操作系统中用于标识和管理...

获取窗口句柄有什么用
就是获得这个窗口的识别代码 句柄就是用来区分各种内存对象的唯一标识符号,是个32位整数。有些是整个系统唯一(如窗口句柄),有些是当前进程或线程中唯一 (如线程句柄,全局的有另一个标识符)。详细的可分为许多种,都是以H开头的。在VB中使用时全部都用Long。常见的有窗口句柄(HWND),设备描述表...

如何理解易语言“取窗口句柄” 要通俗易懂!
句柄 在 一台机器一个系统是准一的 一般是 整数型.通过句柄我们可以对其对象 进行 相应的 操作,如:一个窗口\/钮等 它们都有一个唯一的句 让系统对其操作.改变一个窗口的 尺寸\/标题\/风格等等.所以 取窗口句柄() 就是相当取得这个对象 .可以对其操作控制....

句柄是什么意思,详细解释下
简单来说,句柄就像是一个窗口的身份证,它在游戏外挂、工具软件中扮演着识别和操作游戏窗口或进程的角色。举个例子,当我们使用像按键精灵这样的工具时,它会首先获取游戏窗口的句柄,这个句柄就是进程的唯一标识,使得软件能够准确地与游戏窗口进行交互。在E语言等编程语言中,句柄的使用非常普遍,它使得...

易语言什么情况下才会用到:取窗口句柄?
取窗口句柄是指取到一次、个窗口的id就跟得到一个人的身份证号码一样,举个例子,比如想销毁某个窗口,而这个窗口不是你的程序是外部程序,就要用到该窗口的句柄,去发送消息,给你个例程--- .版本 2 .子程序 子程序1 SendMessage (句柄, 16, 0, 0)'句柄就是要发送到消息的目标窗口的句柄,...

相似回答