有没有办法取得系统发给其他程序的消息
有没有办法获得系统发给其他程序的消息?假设有A,B两个程序,A,B不联系,A正常运行的时候,B程序有没有办法收
有没有办法获得系统发给其他程序的消息?
假设有A,B两个程序,A,B不联系,A正常运行的时候,B程序有没有办法收到操作系统发给A程序的消息?
[解决办法]
利用B安装Hook,可以Hook到Windows的消息,但难点在于判断哪个消息是Windows发给A的
[解决办法]
有办法实现,不过VB6有点难;
方法是安装钩子,可以由SetWindowsHookEx函数完成,该函数支持你安装某种类型的Hook,如鼠标hook,键盘HOOk,消息hook等等;Hook过程是你自定义的回调函数,VB6难就难在这个地方,你安装全局hook(也就是可以拦截所有进程的消息)的回调函数必须是dll中的函数,而VB6编译的Dll不导出函数,只导出Com对象,如果是Vc就好办多了。不过也不必灰心,网上也有关于让VB6的dll导出函数的讨论,国外有人用VB6导出过,看了,英文的,一知半解,还没试过。
[解决办法]
使用AddressOf可以定义回调函数, 被定义为回调的函数必须放在Bas模块中
[解决办法]这样定义的回调做不了全局勾子,因为AddressOf取得的是函数进程内的地址,只能用DLL注入