就象金山词霸一样.
我试着用鼠标移动的事件来触发,可是鼠标移动只能在某个控件或区域中,如何实现鼠标在全屏的移动事件呢? 或用其他办法解决?

解决方案 »

  1.   

    有人回答吗?
    vb应该可以实现吧,至少应有这样的api
      

  2.   

    想金山词霸等等的全屏取词软件一般是用Api hook的方法来捕捉词语的,也就是说他是用全局的钩子(全局的钩子当然可以在全屏中取词了)vb中不能作全局的钩子(更何况Api hook是一种很底层的技术)
    若你一定要做,可以试试SetCapture。
    Public Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
    他可以让鼠标的消息都在你设定hwnd内接受。
      

  3.   

    想金山词霸等等的全屏取词软件一般是用Api hook的方法来捕捉词语的,也就是说他是用全局的钩子(全局的钩子当然可以在全屏中取词了)vb中不能作全局的钩子(更何况Api hook是一种很底层的技术)
    若你一定要做,可以试试SetCapture。
    Public Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
    他可以让鼠标的消息都在你设定hwnd内接受。
      

  4.   

    用API函数可以实现,具体那个忘了,好像得配合SendMessage函数来实现
      

  5.   

    不可以的,你必须用dll做一个钩子
    这个还是vc做好做些
    做好了dll,vb里面调用就是了!
      

  6.   

    要hook api,单单用vb是实现不了的.
      

  7.   

    //这是我从网上下载的一个文档,你可搜索一下。没有的话你给我发邮件,我给你一份
    ([email protected])
    鼠标屏幕取词技术的原理和实现
     
    来源:互联网 作者:白瑜 添加时间:2003-03-12  
    关键字:image_import_descriptor;屏幕取词  
        “鼠标屏幕取词”技术是在电子字典中得到广泛地应用的,如四通利方和金山词霸等软件,这个技术看似简单,其实在windows系统中实现却是非常复杂的,总的来说有两种实现方式:
        第一种:采用截获对部分gdi的api调用来实现,如textout,textouta等。
        第二种:对每个设备上下文(dc)做一分copy,并跟踪所有修改上下文(dc)的操作。      
        第二种方法更强大,但兼容性不好,而第一种方法使用的截获windowsapi的调用,这项技术的强大可能远远超出了您的想象,毫不夸张的说,利用windowsapi拦截技术,你可以改造整个操作系统,事实上很多外挂式windows中文平台就是
    这么实现的!而这项技术也正是这篇文章的主题。
    ...
      

  8.   

    vc做dll,vb调用。
    我记得我原来有源代码的,但扔到哪里去了。
    找到就贴上来。