xowen 发表于 2012-7-25 20:42:38

【已解决】如何确定鼠标一定在指定的窗口(已激活的窗口)之中?在线等

本帖最后由 xowen 于 2012-8-7 22:19 编辑

例如,一个指定的窗口被激活,如何确定鼠标的指针一定在这个窗口之内(不包括窗口的边框,如图,确定出鼠标一定在红色的框中)?谢谢了,求高手解答,我试了对比x,y坐标,但感觉没达到要求。

afan 发表于 2012-7-25 21:19:14

Opt('MouseCoordMode', 2)

HotKeySet("{ESC}", "_Quit")

While 1
        Sleep(10)
        $aPos = WinGetClientSize("")
        If Not IsArray($aPos) Then ContinueLoop
        If MouseGetPos(0) > 0 And MouseGetPos(0) < $aPos And _
                        MouseGetPos(1) > 0 And MouseGetPos(1) < $aPos Then ToolTip('激活窗口内')
WEnd

Func _Quit()
        Exit
EndFunc   ;==>_Quit

haijie1223 发表于 2012-7-25 21:43:05

回复 2# afan


    估计楼主是没用opt

xowen 发表于 2012-7-25 22:16:42

谢谢了,确实没用opt

ooxxgod 发表于 2012-7-26 12:51:22

OPT 起初我也不会用

风行者 发表于 2012-7-26 21:18:08

#include <Winapiex.au3>
Opt('MouseCoordMode', 2)
HotKeySet("{ESC}", "_Quit")

While 1
        Sleep(10)
        $rect = _WinAPI_GetClientRect(WinGetHandle(""))
        $mPos = MouseGetPos()
        $point = _WinAPI_CreatePoint($mPos,$mPos)
        If _WinAPI_PtInRect($rect,$point) Then
                ToolTip('激活窗口客户区内')
        Else
                ToolTip('激活窗口客户区外')
        EndIf
WEnd

Func _Quit()
        Exit
EndFunc   ;==>_Quit
页: [1]
查看完整版本: 【已解决】如何确定鼠标一定在指定的窗口(已激活的窗口)之中?在线等