Автор Тема: Развернуть AutoIt GUI программу при повторном запуске exe  (Прочитано 152 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн winix [?]

  • Новичок
  • *
  • Сообщений: 74
  • Репутация: 0
    • блог
    • Награды
  • Версия AutoIt: 3.3.12.0
Как сделать чтоб запущенное скрытое GUI (свёрнутое в трей), при повторном запуске с того же exe разворачивалась, вместо запуска ещё одной копии.
Нужно проверять запущен ли процесс с таким же заголовком окна?
Или есть какойто способ узнать имя exe который запускаю?

Русское сообщество AutoIt


Онлайн winix [?]

  • Новичок
  • *
  • Сообщений: 74

  • Автор темы
  • Репутация: 0
    • блог
    • Награды
  • Версия AutoIt: 3.3.12.0
Раз уж у меня всё равно есть настройки, сделал по китайски  ;D
Код: AutoIt [Выделить]
#include <Constants.au3>
#include <GUIConstantsEx.au3>

Global $sysini = @WorkingDir & "\system.ini"

Opt('TrayMenuMode', 3)
Opt("GUIOnEventMode", 1)

Global $hGUI

Select
   Case IniRead ($sysini,"RUN","RunPID", Null) <> ""
      Select
         Case ProcessExists ( IniRead ($sysini,"RUN","RunPID", Null) )
            WinSetState ( IniRead ($sysini,"RUN","RunGUI", Null), Null, @SW_SHOW )
            WinActivate ( IniRead ($sysini,"RUN","RunGUI", Null), Null )
            Exit
      EndSelect
EndSelect

TraySetState(1)

_Main()

Func _Main()

   $nGUI = "GUI 0.1"

   $hGUI = GUICreate($nGUI, 250, 250)
      IniWrite($sysini, "RUN", "RunPID", WinGetProcess ( $hGUI ))
      IniWrite($sysini, "RUN", "RunGUI", '"' & $nGUI &'"')

GUISetOnEvent($GUI_EVENT_CLOSE, '_exit', $hGUI)
GUISetOnEvent($GUI_EVENT_MINIMIZE, '_hide', $hGUI)

    GUISetState(@SW_SHOW)

While 1

      Switch TrayGetMsg()
      Case $TRAY_EVENT_PRIMARYUP
         WinSetState ( $hGUI, Null, @SW_SHOW )
         WinActivate ( $hGUI, Null )
      EndSwitch

   Sleep(10)
WEnd
EndFunc   ;==>_Main

Func _exit()
   IniDelete ( $sysini, "RUN" )
   Exit
EndFunc

Func _hide()
    WinSetState ( $hGUI, Null, @SW_HIDE )
EndFunc

Причём это оказалось проще чем потом сделать этот пример .
« Последнее редактирование: Январь 12, 2018, 07:15:10 от winix »

Русское сообщество AutoIt

Re: Развернуть AutoIt GUI программу при повторном запуске exe
« Ответ #1 Отправлен: Январь 12, 2018, 07:08:10 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
3170 Просмотров
Последний ответ Ноябрь 02, 2011, 15:47:07
от Redline
2 Ответов
3096 Просмотров
Последний ответ Декабрь 22, 2011, 13:30:21
от axlwor
3 Ответов
1907 Просмотров
Последний ответ Март 07, 2012, 23:01:18
от CreatoR
3 Ответов
2190 Просмотров
Последний ответ Апрель 28, 2012, 13:03:25
от madmasles
0 Ответов
1969 Просмотров
Последний ответ Сентябрь 06, 2012, 23:21:27
от Juffin
1 Ответов
2199 Просмотров
Последний ответ Ноябрь 25, 2012, 14:39:12
от sngr
7 Ответов
4243 Просмотров
Последний ответ Июль 25, 2013, 09:31:40
от pvnn
0 Ответов
1527 Просмотров
Последний ответ Июль 25, 2013, 07:22:19
от madmasles
2 Ответов
1471 Просмотров
Последний ответ Октябрь 07, 2013, 12:04:07
от kaktys2
10 Ответов
1567 Просмотров
Последний ответ Ноябрь 29, 2015, 01:44:48
от The_Immortal