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

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

有办法吗??即在出现新窗口时,有没有办法挂钩子或者用什么api函数可以知道???
如果有api,给出api名称好么?多谢!最好有程序
程序可以就简单假设为捕捉一个新窗口的句柄,但是不要用定期扫描的方式,要即时的方式。。该窗口名字已知的。。。多谢多谢!!!
...全文
87 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
回复
发帖
VB基础类
创建于2007-09-28

7479

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2001-07-13 06:00
社区公告
暂无公告