要用Vc,因为Vb建立的Dll只能是ActiveX Dll,不是通用Dll.
我曾经想做一个键盘钩子,后来才知道不行,不过用Vc写好Dll后,用vb可以调用!

解决方案 »

  1.   

    所谓的总死机指的是在Debug环境下,肯定会死机。
    包括调试一些API函数的时候。利用VB完全可以实现各种Hook。而且hook不是非要放在dll里面的。BTW:希望有些朋友对模糊的东西不要说给求助的人,以免耽误他人。
      

  2.   

    所谓HOOK,就是为Window编写一些系统函数,换句话说,就是利用它来实现“当发生我要截获的事件的时候,执行我的函数”。
    其实是很简单的操作。
      

  3.   

    不太好。
    用VB不太爽。
    换VC吧。
    _______________________________________________________________多多交流    共同进步
    [email protected]
    http://nizvoo.myrice.com
    _______________________________________________________________ 
      

  4.   

     有谁能给全面介绍一下hook吗
      

  5.   

    看参考就知道了嘛,参考上是说VB不能编写全局HOOK的,如在王国荣写的VB API的书里就明确指出VB是不可能写全局变量的,所以他也写了一个键盘全局钩子函数,我用的好好的啊,要留下EMMAIL嘛。
      

  6.   

    我想要王国维的那个钩子(是不是可以截获鼠标的那个?)
    [email protected]
    crazybeatcode(killdogdoctor),谢谢你!thatwind(我也想飞耶),就算是系统钩子,也是需要debug,不妨将你用vb写的系统钩子的开发过程说一说,也好让我学习一下如何在vb下正确的开发系统hook.
      

  7.   

    VB可以实现Hook,但是系统的Hook,就是监视所有线程thread的系统钩子一定需要将钩子的回调
    函数放到DLL的输出函数中。你可以参考MSDN中的SetWindowsHookEx,不过一般有可以提供全局
    HOOK的DLL或者控件下。
      

  8.   

    VB做的HOOK只能钩一个进程。如果希望做系统级钩子,必须使用c,pascal,asm等生成真正的dll的语言。VB不是设计来做这种事的。
    实现系统钩子的c代码多的是,搜一下吧。其实如果要进行深层的东西,就不要局限在VB,物尽其用嘛,艺不压身哪。
      

  9.   

    这个工具可以在 VB 中写普通 DLL:http://www.banasoft.com/MakeEx.htm
      

  10.   

    在做一些与系统相关的操作的时候,我一般是简单化的做几个分解小程序。
    因为VB6在这一方面不是很好,除非是NT系统,不然会陷入频繁的重起当中。容易引起死机的API操作我一般是分解为小块然后编译成EXE。断点一般用其它的办法例如MsgBox之类来解决,当然比较好的方法是通过写程序跟踪日志。不过一般的小程序,MsgBox已经足够。我曾经用VB做过几个hook,例如生成全局的热键来激活自己的程序之类的。
      

  11.   

    另外请注意看TechnoFantasy(www.applevb.com)的评论,他说得很对。:)
      

  12.   

    我刚刚写过,没什么问题。最好还是写在dll里面。
      

  13.   

    我这个问题和全局钩子有关,可是我实在做不好,分值一百分。
    这里有兴趣的帮我看看吧
    http://www.csdn.net/expert/TopicView.asp?id=296371
      

  14.   

    crazybeatcode(killdogdoctor) 我的Email : [email protected] 
    麻烦发个过来,谢谢。
      

  15.   

    用delphi做吧,vb调起来很麻烦。
      

  16.   

    你把钩子的部分发过来,我给你改一下,或者改成api的dll.
    [email protected]
      

  17.   

    用VB只能做一种全局钩子:系统日志钩子,因为在所有全局钩子中,只有系统日志钩子不用
    放在dll中,但在vb中作这个钩子须要你自己来解析消息,且此钩子在鼠标钩子,键盘钩子
    等处理前被处理,很容易造成当机,你必须时刻报存进度。我已经作了这样的一个钩子,不过
    几天前焕光驱吧汗水滴到了机器上,一接电源,唉 :-< ,我也帮不了你了。你自己看资料吧。
    祝你好运!
      

  18.   

    只要将钩子做成OCX或DLL 在退出系统时由OCX 或DLL 内部自己处理是不会死机的, 不过用VB做是不好的一般用C++做 
      

  19.   

    王国维的钩子麻烦也给我一份:
    [email protected]
    谢谢!
      

  20.   

    我不大懂HOOK,不过,前些日子用到热建,找到一个截获键盘的源码,经我改造,可任意设置热建,效果很好,不知算不算钩子?有人想看源码吗?
      

  21.   

    能单独只设置win键这一个键吗?
    [email protected]