Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для centaurvv

Новый участник


Сообщения: 24
Благодарности: 3

Профиль | Отправить PM | Цитировать


1. Вот попробуйте такой вариант:
Код: Выделить весь код
#Include <WinAPI.au3>
#Include <Array.au3>

HotKeySet("{Esc}", "end")

$iDesktopHeight = @DesktopHeight
$iDesktopWidth = @DesktopWidth

$hGui = GUICreate("Наведи на меня", 300, 200,-1, -1)
GUISetState()

$aWinPosition = WinGetPos($hGui)

$tOldXpos = 1
$tOldYpos = 1

While 1
    $tPoint = _WinAPI_GetMousePos()
    $tXpos = DllStructGetData($tPoint, "X")
    $tYpos = DllStructGetData($tPoint, "Y")
    If $tXpos > $aWinPosition[0] and $tXpos < ($aWinPosition[0] + $aWinPosition[2]) And $tYpos > $aWinPosition[1] and $tYpos < ($aWinPosition[1] + $aWinPosition[3])Then
        MouseMove($tOldXpos,$tOldYpos,0)
    Else
        $tOldXpos = $tXpos
        $tOldYpos = $tYpos
    EndIf
WEnd

Func end()
    Exit
EndFunc
Для выхода из программы жмем "ESC"


2. Или вот интерпретация для "чужого окна программы":
Код: Выделить весь код
#Include <WinAPI.au3>
#Include <Array.au3>

HotKeySet("{Esc}", "end")

Local $iDesktopHeight = @DesktopHeight
Local $iDesktopWidth = @DesktopWidth

Run(@SystemDir & '\calc.exe')
WinWait('Калькулятор')
Local $aWinPosition = WinGetPos('Калькулятор')

Local $tOldXpos = 1
Local $tOldYpos = 1

While 1
    $tPoint = _WinAPI_GetMousePos()
    $tXpos = DllStructGetData($tPoint, "X")
    $tYpos = DllStructGetData($tPoint, "Y")
    If $tXpos > $aWinPosition[0] And $tXpos < ($aWinPosition[0] + $aWinPosition[2]) And $tYpos > $aWinPosition[1] And $tYpos < ($aWinPosition[1] + $aWinPosition[3]) Then
        MouseMove($tOldXpos,$tOldYpos,0)
    Else
        $tOldXpos = $tXpos
        $tOldYpos = $tYpos
    EndIf
WEnd

Func end()
    Exit
EndFunc

Последний раз редактировалось centaurvv, 15-03-2011 в 03:08.

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:47, 15-03-2011 | #2