tryhi 发表于 2012-5-7 00:48:50

MouseClick点击问题

本帖最后由 tryhi 于 2012-5-7 00:57 编辑

HotKeySet('{enter}','a')
Sleep(10000000)
Func a()
        $xy = MouseGetPos();获取鼠标当前位置
        MouseClick('left',30,30,1,0);快速点击
        MouseMove($xy,$xy,0);快速回来原来位置
EndFunc

该代码为按一下ENTER之后点击屏幕30,30位置,也就是第一个桌面图标的位置,测试发现,如果鼠标焦点在explorer窗口(例如焦点在桌面)上面,或者30,30那个位置上方没有其他程序的窗口,就会出现失效的情况,不知为什么会这样,焦点不在其他程序窗口上时会出现不会移过去点击,而30,30位置上方如果没有别的窗口时就会出现点击了之后又不回来,百思不得其解。
测试系统为XP SP3

lixiaolong 发表于 2012-5-7 00:48:51

回复 1# tryhi

我以前也遇到过,但不知道为什么后来就好了.
也许是autoit版本问题,换个版本试试.

haijie1223 发表于 2012-5-7 00:54:33

经测试正常,xp系统

tryhi 发表于 2012-5-7 00:59:10

经测试正常,xp系统
haijie1223 发表于 2012-5-7 00:54 http://www.autoitx.com/images/common/back.gif


    奇怪,难道我电脑有问题,明天换几台电脑测试下。。。

happytc 发表于 2012-5-7 01:15:51

回复 1# tryhi


    我帮你试了两次,没有发现你说的问题!

你试一下换个系统主题测试下

另外这个函数是调用API里的mouse_event函数来实现的,但mouse_event已经被微软弃了,你可以DLLcall一下同样功能的API里的新函数SendInput:它有返回值,还可以得到GetLastError,可以帮你分析错误原因

netegg 发表于 2012-5-7 07:23:50

貌似除了回原始位置快了点没发现问题

tryhi 发表于 2012-5-7 08:52:11

貌似除了回原始位置快了点没发现问题
netegg 发表于 2012-5-7 07:23 http://www.autoitx.com/images/common/back.gif

奇怪,就是我用这样子,也是有同样的问题HotKeySet('{enter}','a')
Sleep(10000000)
Func a()
        $xy = MouseGetPos()
        MouseClick('left',30,30,1)
        Sleep(200)
        MouseMove($xy,$xy)
EndFunc

netegg 发表于 2012-5-7 09:11:22

sleep(200)?0.2秒?你试试用2000

魔导 发表于 2012-5-7 10:55:36

本帖最后由 魔导 于 2012-5-7 10:57 编辑

前辈   这个有点邪小弟曾经遇到过,多点几下过去了
不知道是什么原因,
HotKeySet('{enter}','a')
Sleep(10000000)
Func a()
      $xy = MouseGetPos();获取鼠标当前位置
      MouseClick('left',30,30,4,0);快速点击
      MouseMove($xy,$xy);快速回来原来位置
EndFunc

xms77 发表于 2012-5-7 13:02:32

回复 1# tryhi
我测试也没有问题,系统是xp sp3.

iori2882 发表于 2012-5-8 16:11:12

该代码为按一下ENTER之后点击屏幕30,30位置,也就是第一个桌面图标的位置,测试发现,如果鼠标焦点在ex ...
tryhi 发表于 2012-5-7 00:48 http://www.autoitx.com/images/common/back.gif

从哪里有已解决的分类,每次我都是手打的已解决

tryhi 发表于 2012-5-8 21:08:11

从哪里有已解决的分类,每次我都是手打的已解决
iori2882 发表于 2012-5-8 16:11 http://www.autoitx.com/images/common/back.gif


    悬赏贴会自动改,普通帖要自己改
页: [1]
查看完整版本: MouseClick点击问题