为什么在WIN2003中这个中这个回调函数没有立即被调用(100分)

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

k2536

Unregistered / Unconfirmed
GUEST, unregistred user!
我贴邮关键代码<br>EnumThreadWindows(GetCurrentThreadID, @EnumProc, 0); <br><br>function EnumProc(Handle: THandle; Param: Integer): Boolean; &nbsp;stdcall;//这个函数没有被立即执行<br>var<br> &nbsp;str:array[1..1024] of char;<br>begin<br> &nbsp;GetWindowText(Handle,@str,1024);<br> &nbsp;MESSAGEBOX(0,'已经执行','标题',0);<br> &nbsp;result:=TRUE;<br>end;<br>整个代码在钩子的DLL里<br>我的函数的功能就是,要把枚举出与本线程相关的所有窗口,但是回调函数并没有立即执行,只有,所在结程的进程激活为主窗口的时候,回调函数才开始执行,这是在WIN2003企业版的测试结果,但在XP却没有这种问题,在XP中回调函数能立即执行
 
后退
顶部