最近在看线程插入实例,,,其中有一段是用HOOK截WH_MESSAGE消息的一段,没看懂,下面HOOK内容;
function GetMsgHookPro(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
///////////////////////这个位置的代码,是不是在要截获的进程中运行的呢?????我在这个位置用createthread建了一个线程,这个线程内容是在桌面上新建一个文本文件,但是为什么会出错呢???还有下面红字是实例这个位置原来的代码,,我想问为什么还要用内存映射呢,,,直接写上DLL
文件的地址不就行了,,还费那事干嘛..... if (TheNodeP<>nil)and(TheNodeP^.ExplorerID<>0)and
(GetCurrentProcessId=TheNodeP^.ExplorerID)then //是资源管理器进程
begin
LibraryH := LoadLibrary(Pchar(TheNodeP^.MainPath+'Insert.dll')); //装载动态链接库
if (LibraryH <> 0) then
ThreadPt := GetProcAddress(LibraryH, 'ThreadPro'); //定位线程函数
if (ThreadPt <> nil) then
CreateThread(nil, 0, ThreadPt, nil, 0, ThreadID); //创建新线程
end;
Result:= CallNextHookEx(GetMsgHook, nCode, HINSTANCE, lParam);///////////////////////
end;procedure GetMsgHookOn;
begin
GetMsgHook := SetWindowsHookEx(WH_GETMESSAGE, @GetMsgHookPro, HInstance, 0);
end;
function GetMsgHookPro(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
///////////////////////这个位置的代码,是不是在要截获的进程中运行的呢?????我在这个位置用createthread建了一个线程,这个线程内容是在桌面上新建一个文本文件,但是为什么会出错呢???还有下面红字是实例这个位置原来的代码,,我想问为什么还要用内存映射呢,,,直接写上DLL
文件的地址不就行了,,还费那事干嘛..... if (TheNodeP<>nil)and(TheNodeP^.ExplorerID<>0)and
(GetCurrentProcessId=TheNodeP^.ExplorerID)then //是资源管理器进程
begin
LibraryH := LoadLibrary(Pchar(TheNodeP^.MainPath+'Insert.dll')); //装载动态链接库
if (LibraryH <> 0) then
ThreadPt := GetProcAddress(LibraryH, 'ThreadPro'); //定位线程函数
if (ThreadPt <> nil) then
CreateThread(nil, 0, ThreadPt, nil, 0, ThreadID); //创建新线程
end;
Result:= CallNextHookEx(GetMsgHook, nCode, HINSTANCE, lParam);///////////////////////
end;procedure GetMsgHookOn;
begin
GetMsgHook := SetWindowsHookEx(WH_GETMESSAGE, @GetMsgHookPro, HInstance, 0);
end;
解决方案 »
- 在線等:Button事件里一個ADOQuery提交多個事務的語句怎么寫?
- delphi 如何分割用全角字符分隔(中文的顿号)的字符串
- 如何在一篇word文档中,查找某个字(或字符)出现的次数
- 谁能告诉我在录音时怎么选中(线路输入或者是麦克风)???????????????????????????????????????????????????????????????
- 请教一下POS超市条码枪的使用
- 怎么批量的修改project里form的字符集?
- 在超级终端打入AT或者ATZ都没有反应?
- 姚明成为NBA状元秀,不知道前途如何
- 大家有没有发现今天网站有一点问题啊!!!!!!
- 窗体上控件的焦点发生改变时的消息是什么?控件获得焦点是的消息是什么?
- 向自己提问,哈哈
- 紧急求助谁有delphi4的安装盘
你只用WinAPI看看,别调用其他过程