51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2597|回复: 5
打印 上一主题 下一主题

[原创] QTP如何模拟鼠标滚轮

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-8-23 18:29:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
向上滚 和向下 滚
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-8-24 09:49:53 | 只看该作者
Const  GWL_WNDPROC  =  (-4)  
Const  WM_COMMAND  =  &H111  
Const  WM_MBUTTONDOWN  =  &H207  
Const  WM_MBUTTONUP  =  &H208  
Const  WM_MOUSEWHEEL  =  &H20A  

dim Oldwinproc  As  Long  

Declare  Function  SetWindowLong  Lib  "user32"  Alias  "SetWindowLongA"  (ByVal  hWnd  As  Long,  _  
ByVal  nIndex  As  Long,  ByVal  dwNewLong  As  Long)  As  Long  

Declare  Function  CallWindowProc  Lib  "user32"  Alias  "CallWindowProcA"  (ByVal  lpPrevWndFunc  As  Long,  _  
ByVal  hWnd  As  Long,  ByVal  Msg  As  Long,  ByVal  wParam  As  Long,  ByVal  lParam  As  Long)  As  Long  

Declare  Function  GetWindowLong  Lib  "user32"  Alias  "GetWindowLongA"  (ByVal  hWnd  As  Long,  _  
ByVal  nIndex  As  Long)  As  Long  

Function  FlexScroll(ByVal  hWnd  As  Long,  ByVal  wMsg  As  Long,  ByVal  wParam  As  Long,  ByVal  lParam  As  Long)  As  Long  
'支持滚轮的滚动  Yu  2004-5-10  15:33  
                 Select  Case  wMsg  
                                    
                               Case  WM_MOUSEWHEEL  
                                          
                                       Select  Case  wParam  

                                                     Case  -7864320    '向下滚  
                                                               SendKeys  "{PGDN}"  

                                                     Case  7864320      '向上滚  
                                                               SendKeys  "{PGUP}"  

                                       End  Select  
                                          
                 End  Select  
                  
                 FlexScroll  =  CallWindowProc(Oldwinproc,  hWnd,  wMsg,  wParam,  lParam)  
                  
End  Function
以上代码为支持鼠标滚动的代码(没有经过调试)


看不懂~~~~~~~~~~~~~~~~~~~~~ 这好像是VB 还要转成VBS
回复 支持 反对

使用道具 举报

  • TA的每日心情
    擦汗
    前天 08:59
  • 签到天数: 1021 天

    连续签到: 2 天

    [LV.10]测试总司令

    3#
    发表于 2012-8-24 09:50:37 | 只看该作者
    帮LZ互换下~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2012-8-28 09:45:49 | 只看该作者
    本帖最后由 xjwldlover 于 2012-8-28 09:48 编辑

    只是翻译,不知道是否可用~

    1. Const GWL_WNDPROC = (-4)
    2. Const WM_COMMAND = &H111
    3. Const WM_MBUTTONDOWN = &H207
    4. Const WM_MBUTTONUP = &H208
    5. Const WM_MOUSEWHEEL = &H20A

    6. dim Oldwinproc
    7. Set wshell = CreateObject("wscript.Shell")


    8. Extern.Declare micLong ,"SetWindowLong","user32.dll", _
    9.                       "SetWindowLongA",micLong,micLong,micLong

    10. Extern.Declare micLong ,"CallWindowProc","user32.dll", _
    11.                      "CallWindowProcA",micLong,micLong,micLong,micLong


    12. Extern.Declare micLong ,"GetWindowLong","user32.dll", _
    13.                       "SetWindowLongA",micLong,micLong

    14. Function FlexScroll(hWnd, wMsg , wParam, lParam)
    15. '支持滚轮的滚动 Yu 2004-5-10 15:33
    16. Select Case wMsg

    17. Case WM_MOUSEWHEEL

    18. Select Case wParam

    19. Case -7864320 '向下滚
    20. wshell.SendKeys "{PGDN}"

    21. Case 7864320 '向上滚
    22. wshell.SendKeys "{PGUP}"

    23. End Select

    24. End Select

    25. FlexScroll = CallWindowProc(Oldwinproc, hWnd, wMsg, wParam, lParam)

    26. End Function
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2013-7-2 23:05:11 | 只看该作者
    只是翻译,不知道是否可用~
    xjwldlover 发表于 2012-8-28 09:45



        感谢啊  都快一年了 才看到。。。。。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-4-26 12:45
  • 签到天数: 3 天

    连续签到: 2 天

    [LV.2]测试排长

    6#
    发表于 2014-1-8 17:49:36 | 只看该作者
    回复 4# xjwldlover


        11.Extern.Declare micLong ,"SetWindowLong","user32.dll", _

              "SetWindowLongA",micLong,micLong,micLong

    这几个语句是干嘛用的?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-21 04:25 , Processed in 0.069805 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表