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

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

Оффлайн winix [?]

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

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


Оффлайн winix [?]

  • Сообщений: 80

  • Автор темы
  • Репутация: -1
    • блог
    • Награды
  • Версия 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 Ответов
3349 Просмотров
Последний ответ Ноябрь 02, 2011, 15:47:07
от Redline
2 Ответов
3301 Просмотров
Последний ответ Декабрь 22, 2011, 13:30:21
от axlwor
3 Ответов
2048 Просмотров
Последний ответ Март 07, 2012, 23:01:18
от CreatoR
3 Ответов
2361 Просмотров
Последний ответ Апрель 28, 2012, 13:03:25
от madmasles
0 Ответов
2090 Просмотров
Последний ответ Сентябрь 06, 2012, 23:21:27
от Juffin
1 Ответов
2372 Просмотров
Последний ответ Ноябрь 25, 2012, 14:39:12
от sngr
7 Ответов
4671 Просмотров
Последний ответ Июль 25, 2013, 09:31:40
от pvnn
0 Ответов
1742 Просмотров
Последний ответ Июль 25, 2013, 07:22:19
от madmasles
2 Ответов
1642 Просмотров
Последний ответ Октябрь 07, 2013, 12:04:07
от kaktys2
10 Ответов
1858 Просмотров
Последний ответ Ноябрь 29, 2015, 01:44:48
от The_Immortal