當前位置:首頁 » 編程語言 » 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為安裝鉤子時的返回值,即鉤子子程的句柄。

熱點內容
python基礎語言 發布:2024-04-27 11:54:40 瀏覽:83
ioshttp伺服器搭建 發布:2024-04-27 11:40:26 瀏覽:912
忘記密碼如何強制刷機vivo 發布:2024-04-27 11:28:40 瀏覽:384
c語言讀取指定行 發布:2024-04-27 11:28:30 瀏覽:51
c語言中a10什麼意思 發布:2024-04-27 10:45:43 瀏覽:58
物聯網中ftp是什麼意思 發布:2024-04-27 10:41:17 瀏覽:986
銀行密碼保護在哪裡 發布:2024-04-27 10:25:23 瀏覽:189
tomcat源碼導入eclipse 發布:2024-04-27 10:25:15 瀏覽:194
android的api 發布:2024-04-27 10:23:39 瀏覽:683
官式訪問 發布:2024-04-27 10:04:00 瀏覽:522