国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

運用Hook技術完成鍵盤監控

運用Hook技術完成鍵盤監控

更新時間:2022-05-13 文章作者:未知 信息來源:網絡 閱讀次數:

在許多系統中,出于安全或其它原因,常常要求隨時對鍵盤進行監控,一個專業的監控程序必須具備兩點,一是實時;二是作為指示圖標運行。實際應用中把利用Hook(即鉤子)技術編寫的應用程序添加到Windows的任務欄的指示區中就能夠很好的達到這個目的。我在參考了API幫助文檔基礎上,根據在Delphi開發環境中的具體實現分別對這兩部分進行詳細論述。

一、Hook(鉤子)的實現:

---- Hook是應用程序在Microsoft Windows 消息處理過程中設置的用來監控消息流并且處理系統中尚未到達目的窗口的某一類型消息過程的機制。如果Hook過程在應用程序中實現,若應用程序不是當前窗口時,該Hook就不起作用;如果Hook在DLL中實現,程序在運行中動態調用它,它能實時對系統進行監控。根據需要,我們采用的是在DLL中實現Hook的方式。

---- 1.新建一個導出兩個函數的DLL文件,在hookproc.pas中定義了鉤子具體實現過程。代碼如下:

library keyspy;
uses
windows, messages, hookproc in 'hookproc.pas';
exports
setkeyhook,
endkeyhook;
begin
nexthookproc:=0;
procsaveexit:=exitproc;
exitproc:=@keyhookexit;
end.

2.在Hookproc.pas中實現了鉤子具體過程:
unit hookproc;
interface
uses
Windows, Messages, SysUtils, Controls, StdCtrls;
var
nexthookproc:hhook;
procsaveexit:pointer;
function keyboardhook(icode:integer;wparam:wparam;
lparam:lparam):lresult;stdcall;export;
function setkeyhook:bool;export;//加載鉤子
function endkeyhook:bool;export;//卸載鉤子
procedure keyhookexit;far;
const
afilename='c:\debug.txt';//將鍵盤輸入動作寫入文件中
var
debugfile:textfile;
implementation
function keyboardhookhandler(icode:integer;wparam:wparam;
lparam:lparam):lresult;stdcall;export;
begin
if icode<0 then
begin
result:=callnexthookex(hnexthookproc,icode,wparam,lparam);
exit;
end;
assignfile(debugfile,afilename);
append(debugfile);
if getkeystate(vk_return)<0 then
begin
writeln(debugfile,'');
write(debugfile,char(wparam));
end
else
write(debugfile,char(wparam));
closefile(debugfile);
result:=0;
end;
function endkeyhook:bool;export;
begin
if nexthookproc<>0 then begin
unhookwindowshookex(nexthookproc);
nexthookproc:=0;
messagebeep(0); end;
result:=hnexthookproc=0;
end;
procedure keyhookexit;far;
begin
if nexthookproc<>0 then endkeyhook;
exitproc:=procsaveexit; end;
end.

---- 二、Win95/98使用任務欄右方指示區來顯示應用程序或工具圖標對指示區圖標的操作涉及了一個API函數Shell_NotifyIcon,它有兩個參數,一個是指向TnotifyIconData結構的指針,另一個是要添加、刪除、改動圖標的標志。通過該函函數將應用程序的圖標添加到指示區中,使其作為圖標運行,增加專業特色。當程序起動后,用鼠標右鍵點擊圖標,則彈出一個菜單,可選擇sethook或endhook。

unit kb;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms,
Dialogs,
StdCtrls, Menus,shellapi;
const
icon_id=1;
MI_iconevent=wm_user+1;//定義一個用戶消息
type
TForm1 = class(TForm)
PopupMenu1: TPopupMenu;
sethook1: TMenuItem;
endhook1: TMenuItem;
N1: TMenuItem;
About1: TMenuItem;
Close1: TMenuItem;
Gettext1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure sethook1Click(Sender: TObject);
procedure endhook1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Close1Click(Sender: TObject);
private
{ Private declarations }
nid:tnotifyicondata;
normalicon:ticon;
public
{ Public declarations }
procedure icontray(var msg:tmessage);
message mi_iconevent;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function setkeyhook:bool;external 'keyspy.dll';
function endkeyhook:bool;external 'keyspy.dll';

procedure tform1.icontray(var msg:tmessage);
var
pt:tpoint;
begin
if msg.lparam=wm_lbuttondown then
sethook1click(self);
if msg.LParam=wm_rbuttondown then
begin
getcursorpos(pt);
setforegroundwindow(handle);
popupmenu1.popup(pt.x,pt.y);
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
normalicon:=ticon.create;
application.title:=caption;
nid.cbsize:=sizeof(nid);
nid.wnd:=handle;
nid.uid:=icon_id;
nid.uflags:=nif_icon or nif_message or nif_tip;
nid.ucallbackmessage:=mi_iconevent;
nid.hIcon :=normalicon.handle;
strcopy(nid.sztip,pchar(caption));
nid.uFlags:=nif_message or nif_icon or nif_tip;
shell_notifyicon(nim_add,@nid);
SetWindowLong(Application.Handle,
GWL_EXSTYLE,WS_EX_TOOLWINDOW);
end;

procedure TForm1.sethook1Click(Sender: TObject);
begin
setkeyhook;
end;

procedure TForm1.endhook1Click(Sender: TObject);
begin
endkeyhook;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
nid.uFlags :=0;
shell_notifyicon(nim_delete,@nid);
end;

procedure TForm1.Close1Click(Sender: TObject);
begin
application.terminate;
end;

---- 該程序雖然只用了幾個shellai函數,但是它涉及到了在Delphi中對DLL的引用、鉤子實現、對指示區的操作、用戶定義消息的處理、文件的讀寫等比較重要的內容,我相信這篇文章能對許多Delphi的初學者有所幫助。
---- 該程序在Win98、Delphi4.0中正常運行。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        亚洲国产一区二区a毛片| 亚洲一区二区三区自拍| 亚洲国产日产av| 91片在线免费观看| 国产精品理伦片| av一区二区三区四区| 亚洲伦理在线精品| 欧美日韩国产高清一区二区三区| 亚洲一区在线视频| 91精品国产综合久久久久| 日本免费新一区视频| 欧美成人一级视频| 99久久久免费精品国产一区二区| 伊人夜夜躁av伊人久久| 欧美福利视频一区| 成人综合婷婷国产精品久久 | 一区二区久久久久久| 91美女视频网站| 天堂成人国产精品一区| 欧美大白屁股肥臀xxxxxx| 高清视频一区二区| 午夜视频在线观看一区二区三区| 欧美成人综合网站| 91网站黄www| 久久国产夜色精品鲁鲁99| 国产精品另类一区| 日韩欧美在线影院| 欧洲一区二区三区免费视频| 美国十次综合导航| 亚洲视频免费观看| 亚洲精品一区二区三区福利| 色综合久久六月婷婷中文字幕| 美女脱光内衣内裤视频久久影院| 国产精品视频第一区| 日韩一区和二区| 欧美丝袜丝nylons| 国产精品18久久久| 日本系列欧美系列| 亚洲素人一区二区| 久久久噜噜噜久久中文字幕色伊伊| 91高清在线观看| 成人黄色一级视频| 国产自产视频一区二区三区| 亚洲二区在线视频| 亚洲三级电影全部在线观看高清| 精品sm捆绑视频| 69久久99精品久久久久婷婷| 色婷婷av一区| 91麻豆免费看片| 成人一区在线观看| 国产999精品久久久久久| 久久激情五月激情| 蜜桃av噜噜一区| 免费欧美高清视频| 蜜桃传媒麻豆第一区在线观看| 丝袜脚交一区二区| 日韩主播视频在线| 午夜精品久久一牛影视| 亚洲国产综合在线| 亚洲大片在线观看| 日日夜夜精品视频免费| 日日嗨av一区二区三区四区| 一区二区三区在线视频免费观看 | 不卡的av电影在线观看| 国产成人av一区二区| 国产一区二区三区蝌蚪| 狠狠久久亚洲欧美| 国产一区二区在线免费观看| 久久99久久99| 国产乱国产乱300精品| 国产精品一级在线| 国产91丝袜在线观看| 91啪九色porn原创视频在线观看| 国产白丝精品91爽爽久久| 国产suv精品一区二区6| 粉嫩嫩av羞羞动漫久久久| 成人免费精品视频| 在线观看亚洲a| 91精品国产丝袜白色高跟鞋| 欧美成人性战久久| 欧美国产97人人爽人人喊| 亚洲精品国产a久久久久久| 亚洲精品视频观看| 六月婷婷色综合| av在线不卡免费看| 欧美日韩一区久久| 久久久久久久国产精品影院| 亚洲丝袜美腿综合| 日韩在线a电影| 国产91精品精华液一区二区三区| 96av麻豆蜜桃一区二区| 欧美日韩午夜在线视频| 欧美mv日韩mv亚洲| 国产精品国产三级国产aⅴ入口 | 国产精品传媒入口麻豆| 一区二区视频免费在线观看| 欧美a级理论片| 成人一级视频在线观看| 欧美片在线播放| 欧美韩国日本一区| 石原莉奈一区二区三区在线观看| 国产精品夜夜爽| 欧美日韩成人在线一区| 欧美经典一区二区| 秋霞午夜av一区二区三区| 国产ts人妖一区二区| 91麻豆精品国产| 亚洲人亚洲人成电影网站色| 欧美aaaaa成人免费观看视频| 99久久国产免费看| 亚洲一区二区在线免费观看视频| 午夜影院久久久| 91亚洲精华国产精华精华液| 日韩视频不卡中文| 亚洲成人高清在线| 日本精品视频一区二区| 国产欧美一区二区三区在线老狼 | 日韩美女主播在线视频一区二区三区| 国产精品人人做人人爽人人添| 天堂一区二区在线| 一本大道综合伊人精品热热| 久久精品人人做人人爽人人| 全国精品久久少妇| 欧美一区二区三区白人| 亚洲一区二区欧美激情| 91在线视频官网| 国产日韩欧美麻豆| 裸体健美xxxx欧美裸体表演| 欧美日韩国产综合一区二区| 亚洲精品一二三| 9久草视频在线视频精品| 久久久久9999亚洲精品| 麻豆freexxxx性91精品| 在线成人午夜影院| 午夜欧美在线一二页| 在线一区二区三区四区五区| 亚洲男人都懂的| 色综合天天综合| 亚洲综合免费观看高清完整版| 色94色欧美sute亚洲线路二| 一区二区三区精品| 在线视频欧美精品| 性感美女极品91精品| 在线不卡免费av| 久久激情五月婷婷| 日韩视频永久免费| 国产盗摄一区二区| 中文av字幕一区| 日本黄色一区二区| 亚洲欧美综合色| 日本一区二区三区免费乱视频| 韩国毛片一区二区三区| 久久久久久久免费视频了| 高清在线观看日韩| 亚洲精品菠萝久久久久久久| 欧美性色综合网| 日韩高清在线观看| 久久美女高清视频| 色哟哟国产精品| 蜜桃av一区二区| 日韩毛片精品高清免费| 欧美久久久久久久久中文字幕| 久热成人在线视频| 日韩码欧中文字| 欧美一级欧美三级| 成人免费毛片app| 亚洲高清中文字幕| 久久久亚洲精华液精华液精华液| 成人小视频在线| 污片在线观看一区二区| 国产日韩一级二级三级| 欧美做爰猛烈大尺度电影无法无天| 视频一区视频二区中文| 国产亚洲精品aa| 欧美人伦禁忌dvd放荡欲情| 国产精品综合二区| 亚洲成av人影院| 国产色91在线| 91精品国产欧美一区二区| 成人的网站免费观看| 美女在线视频一区| 亚洲精品国产一区二区三区四区在线| 日韩一区二区在线观看视频 | 日韩精品1区2区3区| 中文字幕第一区综合| 91麻豆精品国产自产在线观看一区| 国产超碰在线一区| 视频一区二区欧美| 亚洲欧美日韩在线不卡| 久久久精品人体av艺术| 丝袜美腿亚洲综合| 欧美本精品男人aⅴ天堂| 色综合天天综合在线视频| 大尺度一区二区| 国产一区二区伦理| 久久国产精品72免费观看| 午夜不卡av免费| 亚洲尤物在线视频观看| 中文字幕制服丝袜一区二区三区| 久久久亚洲综合|