Что нового

Добавление функций кнопкам в MsgBox

Dillaname

Новичок
Сообщения
2
Репутация
0
Может где то и есть уже такая тема, не нашел. Помогите пожалуйста советом, действие следующее:
Вылезает MsgBox с кнопками да нет, нужно чтобы при нажатии на кнопку "да" закрывалось окно, нажималось на нужную область экрана и шло дальше, при нажатии "нет" проводился цикл и снова выскакивал этот MsgBox.
AutoIt код:
$MsgBox1 = MsgBox(4096+4, "Сопоставление номенклатуры", "Сопоставление завершено?")

      If $MsgBox1 = 6 Then

      WinClose("Сопоставление номенклатуры ЕГАИС")
      MouseClick ("left", 675, 391, 1) ;~ Кликаем "ОК"

      Else
      While 1
      MouseClick ("left", 432, 86, 1) ;~ Кликаем "Создать номенклатуру"
      Sleep(500)
      MouseClick ("left", 661, 391, 1) ;~ Кликаем "Создать"
      Sleep(500)
      MouseClick ("left", 588, 250, 1) ;~ Кликаем "ОК"
      Sleep(2000)
      MsgBox(4096+4, "Сопоставление номенклатуры", "Сопоставление завершено?")
     Wend
      EndIf


не совсем понимаю куда тут правильнее поставить while. При выполнении вот этого фрагмента, если я нажимаю "да" все норм работает, если нажимаю "нет" тоже норм работает, но если нажму "да" после того как 1 раз нажал "нет",
скрипт работает так как будто нажал "нет".
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
While 1
        MouseClick("left", 432, 86, 1) ;~ Кликаем "Создать номенклатуру"
        Sleep(500)
        MouseClick("left", 661, 391, 1) ;~ Кликаем "Создать"
        Sleep(500)
        MouseClick("left", 588, 250, 1) ;~ Кликаем "ОК"
        Sleep(2000)
        $MsgBox1 = MsgBox(4096 + 4, "Сопоставление номенклатуры", "Сопоставление завершено?")
        If $MsgBox1 = 6 Then
            ;действие
        Else
            ; действие
        EndIf
    WEnd
 

IMStrelcov

CTPEJIbLLOB
Сообщения
258
Репутация
66
Код:
While 1
    MouseClick ("left", 432, 86, 1) ;~ Кликаем "Создать номенклатуру"
    Sleep(500)
    MouseClick ("left", 661, 391, 1) ;~ Кликаем "Создать"
    Sleep(500)
    MouseClick ("left", 588, 250, 1) ;~ Кликаем "ОК"
    Sleep(2000)
    If MsgBox(4096+4, "Сопоставление номенклатуры", "Сопоставление завершено?") = 6 Then
        WinClose("Сопоставление номенклатуры ЕГАИС")
        MouseClick ("left", 675, 391, 1) ;~ Кликаем "ОК"
        ExitLoop
    EndIf
WEnd
 
Автор
D

Dillaname

Новичок
Сообщения
2
Репутация
0
Немного код неверный но огромное спасибо за наводку))
AutoIt код:
 While 1
        $MsgBox1 = MsgBox(4096 + 4, "Сопоставление номенклатуры", "Сопоставление завершено?")
        If $MsgBox1 = 6 Then
          WinClose("Сопоставление номенклатуры ЕГАИС")
      MouseClick ("left", 675, 391, 1) ;~ Кликаем "ОК"
      ExitLoop
        Else
            MouseClick ("left", 432, 86, 1) ;~ Кликаем "Создать номенклатуру"
      Sleep(500)
      MouseClick ("left", 661, 391, 1) ;~ Кликаем "Создать"
      Sleep(500)
      MouseClick ("left", 588, 250, 1) ;~ Кликаем "ОК"
      Sleep(2000)
        EndIf
     WEnd
 
Верх