sharpwood 发表于 2004-12-7 15:43:52

robot对鼠标滚轮的识别

robot能对鼠标滚轮识别吗?

需要设置什么?

我这里识别不了。

pcl2004_27 发表于 2004-12-7 15:54:08

鼠标滚轮?
楼主这需要识别么

能不能把你的需求说出来!

sharpwood 发表于 2004-12-7 15:58:05

我在一个类似Auto CAD的图形平台里面,滚动鼠标滚轮可以缩小或放大图形,但是robot识别不了。

pcl2004_27 发表于 2004-12-7 16:28:52

对图形程序进行自动化脚本开发,一般用坐标的方式录制脚本

而且识别对象是需要结合你开发的语言,不能孤立的看待问题

sharpwood 发表于 2004-12-7 16:40:54

我是用坐标方式的,但是它识别不了鼠标滚轮滚动这个事件。

[ Last edited by sharpwood on 2004-12-7 at 16:42 ]

xalee 发表于 2004-12-7 17:11:29

Robot无法识别鼠标滚轮,如果确实需要的话可能需要调用相关的api了。

sharpwood 发表于 2004-12-7 20:01:55

在robot中怎么调用api以支持滚轮的滚动,请大虾指教。
我很需要相关的材料。

pcl2004_27 发表于 2004-12-8 09:29:21

实现应用程序支持鼠标滚轮的关键是,捕获鼠标滚轮的消息 MSH_MOUSEWHEEL、WM_MOUSEWHEEL。其中MSH_MOUSEWHEEL是为95准备的,需要Intellimouse驱动程序,而WM_MOUSEWHEEL是目前各版本Windows(98/NT40/2000)内置的消息。本文主要处理WM_MOUSEWHEEL消息。下面是WM_MOUSEWHEEL的语法。

WM_MOUSEWHEEL
    fwKeys = LOWORD(wParam); /* key flags */
    zDelta = (short) HIWORD(wParam);
/* wheel rotation */
    xPos = (short) LOWORD(lParam);
/* horizontal position of pointer */
    yPos = (short) HIWORD(lParam);
/* vertical position of pointer */
---- 其中:fwKeys指出是否有CTRL、SHIFT、鼠标键(左、中、右、附加)按下,允许复合。zDelta传递滚轮滚动的快慢,该值小于零表示滚轮向后滚动(朝用户方向),大于零表示滚轮向前滚动(朝显示器方向)。lParam指出鼠标指针相对屏幕左上的x、y轴坐标。
---- 滚轮按钮相当于普通的三键鼠标的中键,根据滚轮按钮的动作,Windows分别发出WM_MBUTTONUP、WM_MBUTTONDOWN、WM_MBUTTONDBLCLK消息,这些消息

pcl2004_27 发表于 2004-12-8 09:31:57

ConstGWL_WNDPROC=(-4)
ConstWM_COMMAND=&H111
ConstWM_MBUTTONDOWN=&H207
ConstWM_MBUTTONUP=&H208
ConstWM_MOUSEWHEEL=&H20A

dim OldwinprocAsLong

DeclareFunctionSetWindowLongLib"user32"Alias"SetWindowLongA"(ByValhWndAsLong,_
ByValnIndexAsLong,ByValdwNewLongAsLong)AsLong

DeclareFunctionCallWindowProcLib"user32"Alias"CallWindowProcA"(ByVallpPrevWndFuncAsLong,_
ByValhWndAsLong,ByValMsgAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLong

DeclareFunctionGetWindowLongLib"user32"Alias"GetWindowLongA"(ByValhWndAsLong,_
ByValnIndexAsLong)AsLong

FunctionFlexScroll(ByValhWndAsLong,ByValwMsgAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLong
'支持滚轮的滚动Yu2004-5-1015:33
               SelectCasewMsg
                                    
                               CaseWM_MOUSEWHEEL
                                          
                                       SelectCasewParam

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

                                                   Case7864320      '向上滚
                                                               SendKeys"{PGUP}"

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

sharpwood 发表于 2004-12-8 09:55:54

我录制的时候怎么支持滚轮呢?

这些代码要写到什么地方?

xalee 发表于 2004-12-8 09:58:46

Robot不支持滚轮,所以无法录制。

建议把鼠标滚轮的操作封装为一个函数,在需要的地方进行调用。

sharpwood 发表于 2004-12-8 13:54:27

录制的时候真的无法支持吗?

dionysus 发表于 2004-12-12 14:38:51

好像robot对一些鼠标的操作就是支持不好,你可以试一下testcomplete3.0

sharpwood 发表于 2004-12-12 18:52:21

testcomplete 哪儿有下载的,请教。

dionysus 发表于 2004-12-12 19:06:59

testcomplete你可以搜一下,不过好像目前能找到的都是Demo版,不过这个软件不贵,正版才几千块钱,我们公司已经去联系买正版了

sharpwood 发表于 2004-12-12 19:52:41

我搜索了,天天精品上面有,但是下不了,不过有注册码。

我下载了一个demo版的,但是没有地方能输注册码。

demo版的怎样?和robot比有哪些优势?

sharpwood 发表于 2005-11-16 20:13:37

up

tomzhang 发表于 2005-12-22 13:46:38

hao dongdong,识别滚动轴
页: [1]
查看完整版本: robot对鼠标滚轮的识别