Что нового

Элементы GUI Не исчезает диалоговое окно

juder

Новичок
Сообщения
19
Репутация
0
Добрый день!
Подскажите, в принципе скрипт делает то что мне надо, но до окончания работы скрипта не пропадает диалоговое окно. По кнопке закрыть тоже не закрывается, только если убить скрипт пропадает. Можно тут что-то сделать?
Код:
#include <Excel.au3>
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <ComboConstants.au3>
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <Array.au3>
;~ #include <_base64.au3>
#include <GDIPlus.au3>
#include <Memory.au3>
#include <GUIConstantsEx.au3>
;~ #include "div.au3"


$Form = GUICreate("Test", 380, 160)
GUICtrlCreateLabel("Строка в таблице:", 10, 5)
GUICtrlCreateLabel("№коробки:", 10, 30)
$string_table1 = GUICtrlCreateInput('', 200, 5, 150, 20) 
$crypto1 = GUICtrlCreateInput('', 200, 30, 150, 20) 
$Batton_OK = GUICtrlCreateButton("OK", 170, 127, 70, 26)

GUISetState()

$msg = 0
While 1
    $aMsg = GUIGetMsg(1)
    Switch $aMsg[1]
        Case $Form
            Switch $aMsg[0]
                Case -3
                    Exit
                Case $Batton_OK
                     
                    $string_table = GUICtrlRead($string_table1)
                    $crypto = GUICtrlRead($crypto1)
                    WinKill($Form)
                    ExitLoop 
             EndSwitch
    EndSwitch
WEnd
;~ MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
$sFilePath1 = @ScriptDir & "\1.xlsx"

$oExcel = _ExcelBookAttach($sFilePath1)


$sn = _ExcelReadCell($oExcel,$string_table,10)
$ip = _ExcelReadCell($oExcel,$string_table,11)
_body()

Func _body()
    
$hWnd = WinWait("[CLASS:Dialog]","")
If Not $hWnd Then
    MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
    Exit
EndIf
Sleep(1000)
WinActivate($hWnd)
Send("{TAB}")
Send("{DOWN 2}")
Send("{RIGHT}")
Sleep(500)
Send("{DOWN}")
Send("{RIGHT}")

Send("{DOWN 4}")
Send("{RIGHT}")
Sleep(500)
Send("{DOWN}")
Sleep(500)
Send("{ENTER}")
Sleep(500)
EndFunc
 

All2khoff

Продвинутый
Сообщения
351
Репутация
65
Функция GUIDelete - Удаляет GUI окно и все его элементы управления.

Код:
While 1
    $aMsg = GUIGetMsg(1)
    Switch $aMsg[1]
        Case $Form
            Switch $aMsg[0]
                Case -3
                    Exit
                Case $Batton_OK
                     
                    $string_table = GUICtrlRead($string_table1)
                    $crypto = GUICtrlRead($crypto1)
                    GUIDelete ($Form)
                    ExitLoop 
             EndSwitch
    EndSwitch
WEnd
 
Верх