Задать вопрос
@kidman4uk

AutoIT В окне функция не работает а отдельно работает, почему?

Сразу скажу что новичек и потратил на это уже несколько дней.

Видимо где то какая то мелочь но не могу разобраться.

Задача

Создать окно,, нажимать на галочку - открывается файл, и в него автоматом загружается картинка, после чего она перемещается в нужное место на экране. если галочку убираешь окно закрывается.

Отдельно я нашел как это сделать:

[AUTOIT]Example

Func Example()

Run("C:\test\game.exe")

$hWnd = WinWait("game")

Sleep(200)

ControlSend($hWnd, "", "", "^o")

Sleep(200)

ControlSend($hWnd, "", "", "C:\test\frame1.bmp{ENTER}")

EndFunc[/AUTOIT]

а вот когда я создаю окно и в него засовываю эту функцию оно не работает (при нажатии на галочку ничего не происходит)

где я что забыл сделать?

[AUTOIT]

Global $MiniProgaSuffix = "" ;Global $MiniProgaSuffix = "MiniProga"

Global $version = "1.0 " & $MiniProgaSuffix

MiniProga()

Func MiniProga()

Global $hGUI = GUICreate("" & $version, 150,40,1665,760+180)

GUISetState(@SW_SHOW, $hGUI)

$move_xBox = GUICtrlCreateCheckbox("move",10,20)

While 1

Switch GUIGetMsg()

Case $GUI_EVENT_CLOSE

ExitLoop

Case $move_xBox

If _IsChecked($move_xBox) Then

MoveGo()

Else

MoveStop()

ReplayCloseWindows()

EndIf

EndSwitch

GUIDelete($hGUI)

EndFunc

Func _IsChecked($idControlID)

Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED

EndFunc ;==>_IsChecked

Func MoveGo()

ReplayOpenWindows()

EndFunc

Func ReplayOpenWindows()

Example()

Sleep(500)

EndFunc

Func Example()

Run("C:\test\game.exe")

$hWnd = WinWait("game")

Sleep(200)

ControlSend($hWnd, "", "", "^o")

Sleep(200)

ControlSend($hWnd, "", "", "C:\test\frame1.bmp{ENTER}")

EndFunc

Func MoveStop()

ReplayCloseWindows()

EndFunc

Func ReplayCloseWindows()

$hWnd = WinWait("OHReplay")

Sleep(300)

WinClose($hWnd)

EndFunc[/AUTOIT]
  • Вопрос задан
  • 202 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы