请教高手在DLL自己的线程中调用自己的HOOK却不能挂钩 在线等!!(100分)

  • 主题发起人 主题发起人 kimpkok
  • 开始时间 开始时间
K

kimpkok

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序DLL的HOOK部分已经能够调用,单独用EXE来进程HOOK挂钩能够成功安装钩子,但是我看到了高手的关于COM接口技术的例子后,也想把我写的HOOK用COM技术自动挂上,但是在写到创建线程程,在线程中调用HOOK却怎么都钩不上。...
以下是在DLL中的代码~~
//创建工厂,建立线程
function DllGetClassObject(const CLSID, IID: TGUID;
var Obj): HResult;
var
SubThreadID: LongWord;
begin
if (IsExplorer = TRUE) and IsLineage = TRUE then
CreateThread(nil, 0, @ThreadPro, Pointer(66), 0, SubThreadID);
Pointer(Obj) := nil;
Result := CLASS_E_CLASSNOTAVAILABLE;
end;
//在线程中挂钩
procedure ThreadPro(X: Integer);
stdcall;
begin

StartHook();
while IsCQ = falsedo

StopHook;
FreeLibraryAndExitThread(HInstance, X);
end;
麻子高手能告诉我为什么吗?我老是钩不上~~以上代码是在DLL自身上的
----------------------------------------------
 
好了,我已经解决问题,HOOK能钩上了,呵呵,啃了一天的书终于弄明白了[:D]
 
kimpkok,怎么处理的,说一下解决方法,谢谢哦!
 
后退
顶部