当前位置:首页 » 编程语言 » java钩子函数

java钩子函数

发布时间: 2022-07-03 09:54:44

❶ 前端开发中所谓的钩子是什么意思

就是绑定的事件的意思(钩子->绑定)

<button id="mes">show</button>

//js
var btn = document.getElementById('mes');

var showMes = function() {
alert('钩子函数');
};

btn.addEventListener('click', showMes);

showMes 就是钩子函数

❷ hook是什么意思

作为单词时其意思是挂钩,吊钩或者是钩住的意思;作为音乐的意思是是一种音乐的表现形式,通常出现在副歌的位置。用在篮球领域的指的是一个篮球动作。同时还是力学弹性理论中的一条基本定律以及Windows系统机制的意思。

作为单词时其既可以做名词使用,也可以做动词使用。如用作名词例句Please hang your coat on the hook.(请把你的外衣挂在钩上)。用作动词例句Please hook the rope over the nail.(请把绳子挂在那根钉子上)。

(2)java钩子函数扩展阅读:

1、hook单词用法:hook用作名词时意思是“钩”,转化为动词时可表示把某物弯成钩形,也可表示用弯曲的东西把某物体钩住,引申可表示为“吊”“挂”等。

2、hook单词的近义词:catch 赶上;hanger 挂钩;fasten 拴紧;snare 陷阱;clasp 扣子;trap 圈套;button 纽扣;nail 钉子;bind 捆绑。

3、hook常用短语:用作动词时hook up(装好,扣住);用作名词by hook or by crook(千方百计)。

4、hook单词短语搭配:Cargo hook(货钩 ; 吊货钩 ; 吊钩);crochet hook(钩针 ; 钩编钩针)。

5、hook单词过去式是hooked;过去分词是hooked;现在分词是hooking;第三人称单数是hooks。

❸ java的Swing组件本身具有双缓冲功能,那么,用什么方法调用这个双缓冲呢

任何在paint(Graphics) 方法外用getGraphics()试图获取画笔的方法都是不可取的

就算你可以暂时的获取到,也会因为屏幕刷新而把你画的内容冲掉

记住,paint是一个回调函数(又称钩子函数),系统会在需要绘制的时候调用paint,只有挂在系统的钩子上才能运行

举个例子,swing的事件监听就是一种钩子函数的例子,只有addListener来挂钩,系统就会触发
windows有14种钩子

试想,windows每隔一段时间都去调用组件的paint来绘制组件(屏幕刷新),此时,你在另外的方法里面用了paint,那岂不是windows一调用组件自己的paint(Graphics) 就把你的paint刷掉了...

❹ 钩子函数的简介

系统范围的 将捕捉系统中所有进程将发生的事件消息。 当您创建一个钩子时,WINDOWS会先在内存中创建一个数据结构,该数据结构包含了钩子的相关信息,然后把该结构体加到已经存在的钩子链表中去。新的钩子将加到老的前面。当一个事件发生时,如果您安装的是一个局部钩子,您进程中的钩子函数将被调用。如果是一个远程钩子,系统就必须把钩子函数插入到其它进程的地址空间,要做到这一点要求钩子函数必须在一个动态链接库中,所以如果您想要使用远程钩子,就必须把该钩子函数放到动态链接库中去。 故解决的办法是:把钩子函数放到单个的线程中,譬如安装钩子的线程。
钩子一共有14种,以下是它们被调用的时机:
WH_CALLWNDPROC 当调用SendMessage时
WH_CALLWNDPROCRET 当SendMessage的调用返回时
WH_GETMESSAGE 当调用GetMessage 或 PeekMessage时
WH_KEYBOARD 当调用GetMessage 或 PeekMessage 来从消息队列中查询WM_KEYUP 或 WM_KEYDOWN 消息时
WH_MOUSE 当调用GetMessage 或 PeekMessage 来从消息队列中查询鼠标事件消息时
WH_HARDWARE 当调用GetMessage 或 PeekMessage 来从消息队列种查询非鼠标、键盘消息时
WH_MSGFILTER 当对话框、菜单或滚动条要处理一个消息时。该钩子是局部的。它是为那些有自己的消息处理过程的控件对象设计的。
WH_SYSMSGFILTER 和WH_MSGFILTER一样,只不过是系统范围的
WH_JOURNALRECORD 当WINDOWS从硬件队列中获得消息时
WH_JOURNALPLAYBACK 当一个事件从系统的硬件输入队列中被请求时
WH_SHELL 当关于WINDOWS外壳事件发生时,譬如任务条需要重画它的按钮.
WH_CBT 当基于计算机的训练(CBT)事件发生时
WH_FOREGROUNDIDLE 由WINDOWS自己使用,一般的应用程序很少使用
WH_DEBUG 用来给钩子函数除错
附:如何使用钩子函数(接收到字母A按下时,窗体由最小化弹出的完整的代码)
Public Declare Function CallNextHookEx Lib user32 _
(ByVal hHook As Long, _
ByVal nCode As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib user32 _
(ByVal hHook As Long) As Long
Public Declare Function SetWindowsHookEx Lib user32 _
Alias SetWindowsHookExA _
(ByVal idHook As Long, _
ByVal lpfn As Long, _
ByVal hmod As Long, _
ByVal dwThreadId As Long) As Long
Public Const WH_KEYBOARD = 2
Public Const KEY_WINSTART = 91
Public Const KEY_WINMENU = 93
Global hHook As Long
Public Function KeyboardProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If nCode >= 0 Then
If wParam = KEY_WINMENU Or wParam = KEY_WINSTART Then
If (lParam And &HC0000000) = 0 Then
MsgBox , ,
KeyboardProc = 1
Exit Function
End If
End If
End If
KeyboardProc = CallNextHookEx(hHook, nCode, wParam, lParam)
End Function
Option Explicit
Private Sub Command1_Click()
form2.Show 1
End Sub
Private Sub form_Load()
hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardProc, 0&, App.ThreadID)
Me.Show
End Sub
Private Sub form_Unload(Cancel As Integer)
Call UnhookWindowsHookEx(hHook)
End Sub

❺ java中何为钩子方法和回调函数

问得不清楚,所以不懂怎么回答这个区别。

所谓回调函数,一般就是把函数的地址作为参数传进去,让调用的函数在内部可以调用这个函数。
例子:
void CALLBACK fun(){...} 这是一个函数,回调函数
void AAA(int a, Fun* p); 这是一个普通函数,但第二个参数是fun
AAA(5, fun);

❻ 什么叫做钩子函数(易语言)

钩子函数是用来给系统回调的. 简单的说就是你注册一个钩子以后.发生钩子注册的事件. 系统就调用你注册的钩子函数并传递参数给你. 比如你注册了一个键盘钩子, 当用户按下XX键的时候系统就调用你注册的钩子函数. 并且把用户按下了哪些键当作参数传递过来. XX小马就是用这个来邪恶的

麻烦采纳,谢谢!

❼ java的钩子函数有没有晋级版

在游览器中,选择逗工具地-逗internet",选择逗安全地选项卡,单击自定义级别按钮,弹出安全设置对话框,在脚本选项中对java小程序脚本选项点选禁用如果想要关闭的,可以将IE游览器activex功能,java功能和脚本功能全部关闭

编程里说的 钩子和勺子是什么

Windows系统中钩子具有相当强大的功能,通过这种技术可以对几乎所有的Windows 系统中的消息进行拦截、监视、处理。这种技术可以广泛应用于各种软件,尤其是需要有监控、自动记录等对系统进行监测功能的软件。

VB编程中钩子的实现

(一)钩子函数(HOOK Function)的格式。Hook Function实际上是一个函数,如果是系统钩子,该函数必须放在动态链接库中。该函数有一定的参数格式,在VB中如下:

Private Function HookFunc(ByVal nCode As Long,ByVal wParam As Long,ByVal lParam As Long)As Long

其中,nCode代表是什么情况之下所产生的钩子,随钩子的不同而有不同组的可能值;参数wParam,lParam传回值包括了所监视到的消息内容,它随Hook所监视消息的种类和nCode的值不同而不同。对于用VB所设置的钩子函数,一般的框架形式如下:

Private Function HookFunc(ByVal nCode As Long,ByVal wParam As Long,ByVal lParam As Long)As Long
Select case of nCode
case ncode<0:hookfunc=callnexthookex(hHookFunc,nCode,wParam,lParam)
case值1:处理过程1:HookFunc=X1
case2:处理过程2:HookFunc=X1
……
end select
end Function

函数的传回值,如果消息要被处理,则传0,否则传1,吃掉消息。

(二)钩子的安装及执行。钩子的安装要用到几个API函数:可以使用API函数SetWindowsHookEx()把一个应用程序定义的钩子子程安装到钩子链表中。SetWindowsHookEx()函数的声明如下:

Declare function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA"(ByVal idHook As Long,ByVal lpfn As Long,ByVal hmod As Long,ByVal dwThreadId As Long)As Long

idHook值为它处理的消息类型;lpfn值为钩子子程序的地址指针。如果dwThreadId参数为0或是一个由别的进程创建的线程的标识,lpfn必须指向DLL中的钩子子程。除此以外,lpfn可以指向当前进程的一段钩子子程代码。hMod值为应用程序的句柄,标识包含lpfn所指的子程的DLL。如果dwThreadId标识当前进程创建的一个线程,而且子程代码位于当前进程,hMod必须为0。dwThreadId值为与安装的钩子子程相关联的线程的标识符,如果为0,钩子子程与所有的线程关联。钩子安装成功则返回钩子子程的句柄,失败返回0。

另外,一般应在钩子子程中调用CallNextHookEx()函数以执行钩子链表所指的下一个钩子子程,否则安装了别的钩子的应用程序就会收不到钩子通知,从而产生错误的结果。CallNextHookEx()函数的声明如下:

Declare Function CallNextHookEx Lib"user32" Alias "CallNextHookEx"(ByVal hHook As Long,ByVal ncode As Lonog, ByVal wParam As Long,lParam As Any)As Long

hHook值是SetWindowsHookEx()的传回值,nCode、wParam、lParam则是Hook函数中的三个参数。在程序终止之前,必须调用UnhookWindowsHookEx()函数释放与钩子关联的系统资源。UnhookWindowsEx()函数声明如下:

Declare Function Unhook WindowsHookEx Lib "user32" Alias "Unhook WindowsHookEx(ByVal hHook As Long)As Long

hHook为安装钩子时的返回值,即钩子子程的句柄。

热点内容
安卓手机怎么直接扫一扫连接wifi 发布:2024-05-09 06:21:50 浏览:596
传统行车记录仪存储卡在哪个位置 发布:2024-05-09 06:18:44 浏览:126
苹果设置的密码是多少 发布:2024-05-09 06:17:53 浏览:274
刷安卓系统需要什么条件 发布:2024-05-09 06:02:48 浏览:51
清楚谷歌浏览器的缓存文件 发布:2024-05-09 05:55:57 浏览:325
微商引流脚本方法 发布:2024-05-09 05:33:09 浏览:478
编译软件包 发布:2024-05-09 05:13:46 浏览:91
sql语句logon 发布:2024-05-09 05:04:28 浏览:557
阿里云服务器异地登录 发布:2024-05-09 05:04:27 浏览:935
信息发布源码 发布:2024-05-09 05:00:11 浏览:696