Тема: AHK: GUI и работа с удалённым скриптом через ini файлы
Добрый день.
Есть скрипт запущенный на удалённых(несколько компьютеров) РС, который в фоне следит за корпоративной программой, запускает её, закрывает, заставляет выполнять некоторые функции и т.д. Это всё происходит посредством ini файла и команд IniRead и IniWrite. Таким образом я хотел сделать "удалённое управление скриптом клиентом". С этой частью "удалённого управления" проблем не возникло, но для того чтобы этим всем управлять нужен GUI на основном РС, от куда и менять ini файлы на удалённых машинах чтобы удалённые машины выполняли действия с корпоративной программой.
Упёрся в то, что не могу понять как бы так красиво парсить данные с удалённых РС и как красиво их соберать и менять элементы GUI в зависимости от состояния ini файла на удалённой машине.
На картинке в атаче примерно то, как я вижу GUI
Слева лист РС, правее чекбоксы которые отображают текущее состоянии компьютера (из списка на против названия которого стоит этот чекбокс )start_prog(если 1 то ставить чек если 0 анчек), правее edit в котором отображаю значение stop_prog. А, кнопки выполняют действие, т.е. запускают или выключают корпоративную программу посредством изменения ini файла на удалённой машине.
В ini файле расположенном на удалённом РС есть такие записи:
[list_param]
start_prog=0
stop_prog=0
И код для GUI, который должен при запуске опрашивать(iniRead) все компьютеры из списка и отображать информацию в GUI тем самым сразу получить текущее состоянии с удалённых машин(через чекбоксы check\uncheck и поле edit.). И, само собой индивидуальное iniRead и iniWrite посредством выделения РС из listBox и изменения ini через кнопки start, stop.
IniRead, IniRead, сolors.ini, сolors, сolors, %A_Space%
Gui, Add, ListBox, x12 y50 w100 h260 , vListBox Multi, %IniRead%
Gui, Add, CheckBox, x122 y50 w10 h20 , CheckBox
Gui, Add, CheckBox, x122 y70 w10 h20 , CheckBox
Gui, Add, CheckBox, x122 y90 w10 h20 , CheckBox
Gui, Add, CheckBox, x122 y110 w10 h20 , CheckBox
Gui, Add, CheckBox, x122 y130 w10 h20 , CheckBox
Gui, Add, CheckBox, x122 y150 w10 h20 , CheckBox
Gui, Add, CheckBox, x122 y170 w10 h20 , CheckBox
Gui, Add, Edit, x142 y50 w60 h20 , Edit
Gui, Add, Button, x262 y80 w100 h30 , STOP
Gui, Add, Button, x262 y150 w100 h30 , START
; Generated using SmartGUI Creator 4.0
Gui, Show, x409 y210 h379 w479, New GUI Window
Return
F3::
GuiControlGet, ListBox
Loop, parse, ListBox, |
{
StringReplace, Label, A_LoopField, %A_Space%, _, All
IniRead, stop_prog, \\%Label%\c$\help\help.ini, list_param, stop_prog
%Label%_stop_prog = %stop_prog%
IniRead, start_prog, \\%Label%\c$\help.ini, list_param, start_prog
%Label%_start_prog = %start_prog%
}
Return
GuiClose:
ExitApp
Собственно циклом запарсил, список, достаю, но не пойму как достать инфу из цикла и изменить стостояние чекбокса и изменить значение в edit поле.