Что нового

Отдельно фкнкция работает, а внутри окна нет

kiki

Новичок
Сообщения
1
Репутация
0
Сразу скажу что новичек и потратил на это уже несколько дней.
Видимо где то какая то мелочь но не могу разобраться.
Задача
Создать окно,, нажимать на галочку - открывается файл, и в него автоматом загружается картинка, после чего она перемещается в нужное место на экране. если галочку убираешь окно закрывается.
Отдельно я нашел как это сделать:

Код:
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


а вот когда я создаю окно и в него засовываю эту функцию оно не работает (при нажатии на галочку ничего не происходит)
где я что забыл сделать?
Код:
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
 
Последнее редактирование:

damien2008

Осваивающий
Сообщения
178
Репутация
34
Код:
#include <GUIConstantsEx.au3>

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
                GUIDelete($hGUI)
                Exit

            Case $move_xBox
                If _IsChecked($move_xBox) Then
                    MoveGo()
                Else
                    MoveStop()
                    ReplayCloseWindows()
                EndIf

        EndSwitch
    WEnd
EndFunc   ;==>MiniProga

Func _IsChecked($idControlID)
    Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
EndFunc   ;==>_IsChecked


Func MoveGo()
    ReplayOpenWindows()
EndFunc   ;==>MoveGo

Func ReplayOpenWindows()
    Example()
    Sleep(500)
EndFunc   ;==>ReplayOpenWindows

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   ;==>Example


Func MoveStop()
    ReplayCloseWindows()
EndFunc   ;==>MoveStop


Func ReplayCloseWindows()
    $hWnd = WinWait("OHReplay")
    Sleep(300)
    WinClose($hWnd)
EndFunc   ;==>ReplayCloseWindows
 
Верх