Что нового

Какой командой закрыть скрипт с расширением au3

mv6677

Новичок
Сообщения
105
Репутация
0
Здравствуйте, форумчане.
Подскажите, пожалуйста - какой командой закрыть открытый файл с названием "Скрипт 1.au3" - висящий в трее ?
Своего собственного процесса у него нет - процесс имеет адрес C:\Program Files (x86)2\AutoIt3\AutoIt3.exe (который как бы общий для всех autoit-скриптов)
Поэтому команда :
Код:
If ProcessExists('Скрипт 1.exe.') Then ProcessClose('Скрипт 1.exe.')

тут не сработает.

Своего Title - у него тоже нет.
Поэтому команда :
Код:
If WinExists("заголовок") Then ;если окно существует
    WinClose("заголовок") ;закрываем его
    Sleep(200)
EndIf

тут тоже не сработает.

Команда по назначению заголовка:
Код:
AutoItWinSetTitle ( "заголовок" )

почему-то здесь не срабатывает.

Так как же его закрыть другим скриптом ?

Информации в других темах по форуму - не нашел.
Еще раз подчеркну, что у скрипта расширение именно au3, а не exe.
 

Tempo

Скриптер
Сообщения
509
Репутация
153
почему-то здесь не срабатывает.
Код:
#include <MsgBoxConstants.au3>

If Not WinExists(@ScriptName) Then
    MsgBox($MB_TOPMOST + $MB_ICONINFORMATION, "IF", 'PID: ' & @AutoItPID)
    AutoItWinSetTitle(@ScriptName)
    ShellExecute(@ScriptFullPath)

    While Sleep(10)
    WEnd
Else
    Local $sText = StringFormat('PID: %i\r\nСейчас будет закрыт PID: %i', @AutoItPID, WinGetProcess(@ScriptName))
    MsgBox($MB_TOPMOST + $MB_ICONINFORMATION, "ELSE", $sText)
    WinClose(@ScriptName)
EndIf
 
Автор
M

mv6677

Новичок
Сообщения
105
Репутация
0
Tempo, понятно.
Так название скрипта - куда вводить ?
Скрипт называется: Скрипт 1.au3

Если подставить это название в скрипт - то никакой реакции не происходит.
Код:
#include <MsgBoxConstants.au3>
    Local $sText = StringFormat('PID: %i\r\nСейчас будет закрыт PID: %i', @AutoItPID, WinGetProcess('Скрипт 1.au3'))
    MsgBox($MB_TOPMOST + $MB_ICONINFORMATION, "ELSE", $sText)
    WinClose('Скрипт 1.au3')

Скрипт продолжает висеть в трее и никуда не исчезает.

И в коде вы зачем-то написали
Код:
ShellExecute[/URL](@ScriptFullPath)

Скрипт не надо открывать - он уже открытый.
Его закрыть нужно.
 
Последнее редактирование:

Tempo

Скриптер
Сообщения
509
Репутация
153
Это пример использования AutoItWinSetTitle и WinClose, почему это должно работать если это куда-то подставить?
Сообщение автоматически объединено:

Подскажите, пожалуйста - какой командой закрыть открытый файл с названием "Скрипт 1.au3" - висящий в трее ?
Почему эта тема в столе заказов? Вопросы задают в разделе Общие вопросы по AutoIt
Сообщение автоматически объединено:

Так название скрипта - куда вводить ?
В скрипте "Скрипт 1.au3" в начало добавьте AutoItWinSetTitle(@ScriptName)
В скрипте который должен закрыть "Скрипт 1.au3" используйте WinClose("Скрипт 1.au3")
 
Последнее редактирование:
Автор
M

mv6677

Новичок
Сообщения
105
Репутация
0
Спасибо. Теперь все хорошо.
 
Верх