如题,并不是每个窗口的滚动条的类名都是Scrollbar,小弟现在已经实现了滚动条的类名都是Scrollbar,或则有WS_VSCROLL风格的窗口下,发送WM_VSCROLL可以使这个窗口中滚动条滚动,而一些窗口就不行,比如   FireFox浏览器窗口中的滚动条就不行。我发现不行的这些窗口中的滚动条他们的类名不是Scrollbar,窗口风格也没有WS_VSCROLL,请问个 各位大虾该如何实现发送消息使 窗口滚动呢?不能用模拟鼠标滚轮滚动德方法!!

解决方案 »

  1.   

    FIREFOX等一些安全级软高的如卡巴这类的软件(主要是防病毒),向他们发送消息是无效的,而不仅是因为他们的类名的不同,你去发送其它的消息也都是无效,因为软件自身屏避掉了用户消息.
    解决方法我想可以采用低层模拟(当然不是消息模拟,winio可以)点击的方法来作这件事,也许还有更好的方法
      

  2.   

    我见过一个软件,就是罗技的鼠标的驱动程式,可以实现的,对所有的有滚动条的窗口都有效果,就是不知道是怎么做的!!!模拟模拟PAGEUP和PAGEDOWN不可取,因为我还需要控制滚动的速度,楼上所说的方法我试试看
      

  3.   

    oldn_CC_bird可否把你的方法说详细点啊?
      

  4.   

    你到网上找winio 的鼠标模拟吧,网上有很多
      

  5.   

    我想你指的模拟鼠标和用mouse_event效果差不多吧,模拟鼠标滚轮滚动。当有滚动条的窗口没有输入焦点(没有被激活)用这种方法就会没有用的
      

  6.   

    FireFox想都别想,因为它根本不是使用系统控件,你用Spy看看,整个程序就两三个窗口类,里面的控件全部是自绘出来。
      

  7.   

    差很多啊,
    winio是作硬件端口读写
    mouse_event是全局级模拟
    不过你也可以试试mouse_event,我没用过这个,不知道他的模拟是否会被firefox屏避掉
      

  8.   

    呵,FireFox想都别想,不知道你用spy去看过卡巴7.0没..很神奇
      

  9.   

    mouse_event是可以的,但是对没有输入焦点的窗口就没有用了,兄弟们集思广益呀,人家罗技都做出来了,我看了一下他的安装程式,里面好像用了HOOK,具体的实现方法就不知道了
      

  10.   

    你想作后台模拟的话除了sendmessage别的都不行的,你说的罗技的安装程式是什么东东?
      

  11.   

    我指的是我买的一个罗技鼠标的驱动程式,它实现了那个功能的,NND就是不知道怎么做的,你可以把鼠标上的一个按键设定为滚动条向上滚动或则向下滚动,然后鼠标移动到所有有滚动条的窗口中,按那个按键,滚动条就向上滚动或则向下滚动了,不管那个窗口有无输入焦点或则顶层窗口,我想它肯定不是用mouse_event或则键盘上的按键,那样的话对无输入焦点的窗口无效,就像兄台你所说sendmessage发消息的话,会被屏避掉,TMD真郁闷
      

  12.   

    模拟鼠标滚轮滚动和键盘上的上下,左右按键和PAGEUP和PAGEDOWN绝对不行,再说一遍
      

  13.   

    没懂你现在是想作后台模拟还是前台的,后台的没有办法,前台的就可以模拟
    如果说mouse_event的模拟点击不会被屏蔽,那只要找到scollbar的位置,再SetCursorPos指定鼠标位置,再模拟点击就可以了,当然是我是指前台模拟的情况勤部
      

  14.   

    我当然是想做后台模拟,你说的SetCursorPos的方法我觉得算比较下策的办法了,如果能用SendMessage做就好了,效果会很好的