51Testing软件测试论坛

标题: QTP如何模拟鼠标滚轮 [打印本页]

作者: zz45509    时间: 2012-8-23 18:29
标题: QTP如何模拟鼠标滚轮
向上滚 和向下 滚
作者: zz45509    时间: 2012-8-24 09:49
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
作者: lsekfe    时间: 2012-8-24 09:50
帮LZ互换下~
作者: xjwldlover    时间: 2012-8-28 09:45
本帖最后由 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
复制代码

作者: zz45509    时间: 2013-7-2 23:05
只是翻译,不知道是否可用~
xjwldlover 发表于 2012-8-28 09:45



    感谢啊  都快一年了 才看到。。。。。。。。
作者: 小丫头amy    时间: 2014-1-8 17:49
回复 4# xjwldlover


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

          "SetWindowLongA",micLong,micLong,micLong

这几个语句是干嘛用的?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2