Версия AutoIt: 3.3.14.3
Описание:
Суть программы такова: сидит запущенная в трее, ждет запуска окна "Блокнота" (для примера) пользователем, когда окно "Блокнота" появляется, программа стает @SW_SHOW, с помощью элеменов UpDown вносятся значения в поля ввода, потом по нажатию кнопки Button1 = "<--------- " значения полей ввода объеденяются с какими-то значениями в текстовую строку и вставляются в "Блокнот", потом после закрытия окна "Блокнота" пользователем, данные полей ввода и Label11 очищаются и программа опять сворачивается в трей и ждет следующего запуска окна "Блокнота" до закрытия самой программы.
В коде не реализованно сворачивание и очистка после закрытия "Блокнота", остальное вроде работает хоть и криво (наверное).
закомменченный код не убирал, мож пригодится
Примечания:
Желательно чтобы после вставки данных в блокнот его окно становилось активным;
Форма создавалась/разворачивалась рядом с окном блокнота, в 7-8 строчке кода есть рабочая реализация для создания но не для разворачивания/отображения;
И еще чтобы текст Label1 .. 7 брался с ini файла и записывался туда перед закрытием.
Все это не критично, главное, что бы основной функционал работал.
Это мой первый опыт с AutoIt)
Описание:
Суть программы такова: сидит запущенная в трее, ждет запуска окна "Блокнота" (для примера) пользователем, когда окно "Блокнота" появляется, программа стает @SW_SHOW, с помощью элеменов UpDown вносятся значения в поля ввода, потом по нажатию кнопки Button1 = "<--------- " значения полей ввода объеденяются с какими-то значениями в текстовую строку и вставляются в "Блокнот", потом после закрытия окна "Блокнота" пользователем, данные полей ввода и Label11 очищаются и программа опять сворачивается в трей и ждет следующего запуска окна "Блокнота" до закрытия самой программы.
В коде не реализованно сворачивание и очистка после закрытия "Блокнота", остальное вроде работает хоть и криво (наверное).
закомменченный код не убирал, мож пригодится
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;$Ntpd = WinGetPos("[CLASS:Notepad]")
;$Form1 = GUICreate("d35", 105, 320, $Ntpd[0]+$Ntpd[2]+5, $Ntpd[1]+20)
;$Form1 = GUICreate("d35", 105, 298, 673, 186)
$Form1 = GUICreate("d35", 105, 320, 673, 186)
$Label1= GUICtrlCreateLabel("Mark1", 6, 10, 39, 17, $WS_BORDER)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("Mark2", 6, 42, 39, 17, $WS_BORDER)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("Mark3", 6, 74, 39, 17, $WS_BORDER)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("Mark4", 6, 106, 39, 17, $WS_BORDER)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("Mark5", 6, 138, 39, 17, $WS_BORDER)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label6 = GUICtrlCreateLabel("Mark6", 6, 170, 39, 17, $WS_BORDER)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Label7 = GUICtrlCreateLabel("Mark7", 6, 202, 39, 17, $WS_BORDER)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Input1 = GUICtrlCreateInput("", 51, 8, 41, 21)
GUICtrlCreateUpdown($Input1)
GUICtrlSetLimit(-1, 30, 0)
$Input2 = GUICtrlCreateInput("", 51, 40, 41, 21)
GUICtrlCreateUpdown($Input2)
GUICtrlSetLimit(-1, 30, 0)
$Input3 = GUICtrlCreateInput("", 51, 72, 41, 21)
GUICtrlCreateUpdown($Input3)
GUICtrlSetLimit(-1, 30, 0)
$Input4 = GUICtrlCreateInput("", 51, 104, 41, 21)
GUICtrlCreateUpdown($Input4)
GUICtrlSetLimit(-1, 30, 0)
$Input5 = GUICtrlCreateInput("", 51, 136, 41, 21)
GUICtrlCreateUpdown($Input5)
GUICtrlSetLimit(-1, 30, 0)
$Input6 = GUICtrlCreateInput("", 51, 168, 41, 21)
GUICtrlCreateUpdown($Input6)
GUICtrlSetLimit(-1, 30, 0)
$Input7 = GUICtrlCreateInput("", 51, 200, 41, 21)
GUICtrlCreateUpdown($Input7)
GUICtrlSetLimit(-1, 30, 0)
$Button1 = GUICtrlCreateButton("<---------", 8, 232, 59, 33)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Button2 = GUICtrlCreateButton("c", 75, 232, 19, 33)
;Global $Label11 = GUICtrlCreateLabel("xxxxxx", 8, 280, 80, 17)
$Label11 = GUICtrlCreateLabel("xxxxxx", 8, 280, 80, 120)
;WinWaitClose("[CLASS:Notepad]")
GUISetState(@SW_MINIMIZE)
WinWait("[CLASS:Notepad]")
GUISetState(@SW_SHOW)
;While Sleep(10)
;If WinWaitActive("[CLASS:Notepad]") Then
;GUISetState(@SW_SHOW)
;Else
;GUISetState(@SW_MINIMIZE)
;EndIf
;Wend
;While WinClose("[CLASS:Notepad]")
;GUISetState(@SW_MINIMIZE)
;Wend
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $GUI_EVENT_MINIMIZE
cleer()
Case $Button2
cleer()
Case $Button1
spleet()
;Case WinWaitActive("[CLASS:Notepad]") = 1
;GUISetState(@SW_SHOW)
;Case WinWaitClose("[CLASS:Notepad]") = 1
;GUISetState(@SW_MINIMIZE)
;ExitLoop
EndSwitch
WEnd
;While 2
;$mMsg = GUIGetMsg()
;Switch $mMsg
;Case $GUI_EVENT_CLOSE
;Exit
;Case WinWaitClose("[CLASS:Notepad]")
;GUISetState(@SW_MINIMIZE)
;cleer()
;EndSwitch
;WEnd
Func cleer()
GUICtrlSetData($Input1,"")
GUICtrlSetData($Input2,"")
GUICtrlSetData($Input3,"")
GUICtrlSetData($Input4,"")
GUICtrlSetData($Input5,"")
GUICtrlSetData($Input6,"")
GUICtrlSetData($Input7,"")
GUICtrlSetData($Label11,"")
EndFunc
Func spleet()
;$a = GUICtrlRead($Input1)
;$b = GUICtrlRead($Input2)
;$c = GUICtrlRead($Input3)
;$d = GUICtrlRead($Input4)
;$e = GUICtrlRead($Input5)
;$f = GUICtrlRead($Input6)
;$g = GUICtrlRead($Input7)
;$dl = 'A-' & GUICtrlRead($Input1) & ' B-' & GUICtrlRead($Input2) & ' C-' & GUICtrlRead($Input3) & ' D-' & GUICtrlRead($Input4) & ' E-' & GUICtrlRead($Input5) & ' F-' & GUICtrlRead($Input6) & ' G-' & GUICtrlRead($Input7) ;@CRLF
;GUICtrlSetData($Label11, $dl)
$dl = '1' & GUICtrlRead($Input1) & '2' & GUICtrlRead($Input2) & '3' & GUICtrlRead($Input3) & '4' & GUICtrlRead($Input4) & '5' & GUICtrlRead($Input5) & '6' & GUICtrlRead($Input6) & '7' & GUICtrlRead($Input7) ;@CRLF
GUICtrlSetData($Label11, $dl)
;ClipPut($dl)
;Sleep(2000)
ControlSend("[CLASS:Notepad]", "", "Edit1", $dl)
EndFunc
;WinWaitClose("[CLASS:Notepad]")
;GUISetState(@SW_MINIMIZE)
Примечания:
Желательно чтобы после вставки данных в блокнот его окно становилось активным;
Форма создавалась/разворачивалась рядом с окном блокнота, в 7-8 строчке кода есть рабочая реализация для создания но не для разворачивания/отображения;
И еще чтобы текст Label1 .. 7 брался с ini файла и записывался туда перед закрытием.
Все это не критично, главное, что бы основной функционал работал.
Это мой первый опыт с AutoIt)