请教各位一个问题,关于钩子的!

skylove 2001-07-13 06:00:38
设定某程序会定时产生其他进程,我没有其新产生进程的的句柄,而且也不可以估计它什么时候出现,但是我想它一出现,我就要得到它的句柄,以方便我用自己的程序加工它!而且是只需要这个新进程的,不是在这时把所有进程又判断一次来确定

有办法吗??即在出现新窗口时,有没有办法挂钩子或者用什么api函数可以知道???
如果有api,给出api名称好么?多谢!最好有程序
程序可以就简单假设为捕捉一个新窗口的句柄,但是不要用定期扫描的方式,要即时的方式。。该窗口名字已知的。。。多谢多谢!!!
...全文
121 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyjdn 2001-07-27
  • 打赏
  • 举报
回复
还有300分.
xyjdn 2001-07-27
  • 打赏
  • 举报
回复
To huanggx(大侠) :你还有分没要,请到huanggx(大侠)请进签个到, 
skylove 2001-07-27
  • 打赏
  • 举报
回复
我试了试,依旧不能成功。。。我是用delphi来做的dll,在那个hook的dll我可以得到新窗口的句柄了,就是传不回我的程序中去,我faint~!
bicom 2001-07-15
  • 打赏
  • 举报
回复
我来了!
huanggx 2001-07-15
  • 打赏
  • 举报
回复
但是要注意,一定要把不处理的消息返还给系统,否则会导致系统down。关闭你的程序之前要卸下钩子。可能我不用说这些话。这是使用钩子的基本。
huanggx 2001-07-15
  • 打赏
  • 举报
回复
用SetWindowsHookEx安装钩子,并建立自己的消息处理过程,对于系统发出的WM_CREATE进行处理。你的消息处理过程(WindowProc)必须按照api的要求设置四个参数:
Public Function WindowProc(ByVal hw As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
SetWindowsHookEx的第一个参数必须是WH_CALLWNDPROC或者WH_CALLWNDPROCRET(这恋歌的不同是:前者在目标窗口的窗口过程获得该消息前获得,后者反之,即在目标窗口的窗口过程获得消息之后获得该消息),第二个是你的这个函数的地址(用AddressOf 关键字)
不过你的窗口处理过程一定要返回0,如果返回-1,则该窗口被销毁。
xyjdn 2001-07-15
  • 打赏
  • 举报
回复
gz
vbFly 2001-07-13
  • 打赏
  • 举报
回复
定期扫描好象好点吧
jusygg 2001-07-13
  • 打赏
  • 举报
回复
好象没有,要一个系统钩子先监视整个系统进程。呵呵
Leemaasn 2001-07-13
  • 打赏
  • 举报
回复
gz

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧