Что нового

Отключение окна путем определения его заголовка в другом окне

A_P

Новичок
Сообщения
1
Репутация
0
Версия AutoIt: 3.3.14.2
Создается окно с помощью такого кода:
Код:
#NoTrayIcon
#include <C:\Program Files\Autoit\Include\GUIConstants.au3>

$Form1=GUICreate(@Username&" "&@HOUR&":"&@MIN&":"&@SEC,307,119,-1,-1,BitOR($WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS))
GUISetFont(10,400,0,"Microsoft Sans Serif") ;размер шрифта
$Button1=GUICtrlCreateButton($Cmdline[3],68,74,169,28,$WS_BORDER)
GUICtrlSetResizing(-1, $GUI_DOCKHCENTER+$GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
GUISetBkColor (0x000080) ;устанавливает цвет фона
GUICtrlSetDefColor(0x00FF00) ;устанавливает цвет текста
$Label1=GUICtrlCreateLabel($Cmdline[1],0,16,305,20,BitOR($SS_CENTER,$SS_CENTERIMAGE))
$Label2=GUICtrlCreateLabel($Cmdline[2],0,40,305,20,BitOR($SS_CENTER,$SS_CENTERIMAGE))
GUISetState(@SW_SHOW)

While 1 ;цикл
 $aMsg=GUIGetMsg() ;в цикле начинаем отслеживать сообщения, идущие от окна
  Switch $aMsg
   Case $GUI_EVENT_CLOSE ;закрытие окна по событию нажатия крестика
   Exit
   Case $Button1 ;событие нажатие кнопки $Button1
   runwait(@comspec&' /c taskkill /f /im "cmd.exe"')
   Exit
  EndSwitch
WEnd

Exit

в его заголовке будет текущее время, через некоторое время по задаче должно появиться другое похожее окно (без строки runwait(@comspec&' /c taskkill /f /im "cmd.exe"')) и отключить предыдущее, определив его по заголовку, для уникальности и используется время. Пока убивается процесс по имени name1.exe, но это не подходит, так как отключаются все открытые (а может быть несколько первых запущенных) окна этого процесса. У второго окна, в котором должно быть отключение своего первого - свой процесс name2.exe.
 
Верх