1

Тема: AHK: Could not close the previous instance of this script.

#singleinstance force
Runwait, C:\Windows\System32\fsutil.exe file createnew C:\test.txt 10000000000
filecopy C:\test.txt, C:\test1.txt

При запуске этого скрипта и через пару секунд  повторном его запуске вылазит дурацкая табличка:

Could not close the previous instance of this script. Keep Waiting?

Какие возможны варианты ее убирания?

2

Re: AHK: Could not close the previous instance of this script.

Не совсем понятен вопрос. Тебе нужно, чтобы сообщение об ошибке не появлялось, или чтобы скрипт нормально перезапускался?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: Malcev, 2014-07-30 00:54:42)

Re: AHK: Could not close the previous instance of this script.

В идеале, чтобы скрипт нормально перезапускался.

4

Re: AHK: Could not close the previous instance of this script.

Наверное, проблема в том, что ты пытаешься закрыть скрипт во время копирования. Но точно сказать со стороны нельзя.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Could not close the previous instance of this script.

Это я понял. А почему нельзя его закрыть? И если невозможно скрипт перезапустить во время копирования, то возможно хоть как-то эту табличку убрать?

6

Re: AHK: Could not close the previous instance of this script.

А почему нельзя его закрыть?

Наверное, чтобы файл не оказался записанным "криво".

возможно хоть как-то эту табличку убрать?

Из самого скрипта — вряд ли. Думаю, показ этого окна зашит в интерпретаторе.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Could not close the previous instance of this script.

А почему нельзя его закрыть?

А с диспетчера он прибивается без проблем?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: AHK: Could not close the previous instance of this script.

А с диспетчера он прибивается без проблем?

Да.

Из самого скрипта — вряд ли. Думаю, показ этого окна зашит в интерпретаторе.

То есть единственный вариант создать новый скрипт, который будет следить и нажимать кнопку yes в этой табличке?

9

Re: AHK: Could not close the previous instance of this script.

То есть единственный вариант создать новый скрипт, который будет следить и нажимать кнопку yes в этой табличке?

Думаю что нет:


#SingleInstance Off  
DetectHiddenWindows, On
CurPID := DllCall("GetCurrentProcessId")
WinGet, List, List, %A_ScriptFullPath% ahk_class AutoHotkey
Loop % List
{ 
    WinGet, PID, PID, % "ahk_id" List%A_Index%
    If (PID != CurPID)
        Process, Close, %PID% 
}
 ; Далее нужный код
Runwait, C:\Windows\System32\fsutil.exe file createnew C:\test.txt 10000000000
FileCopy C:\test.txt, C:\test1.txt, 1
ExitApp

Подходит и для компилированных скриптов.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

10

Re: AHK: Could not close the previous instance of this script.

Спаcибо за решение.
Единственное оно не подойдет если есть комманда OnExit.
Но так как у меня его нету, то все ОК.

11

Re: AHK: Could not close the previous instance of this script.

Единственное оно не подойдет если есть комманда OnExit.

Почему?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

12

Re: AHK: Could not close the previous instance of this script.

Например, вот так:

#SingleInstance Off  
DetectHiddenWindows, On
OnExit, Exit
CurPID := DllCall("GetCurrentProcessId")
WinGet, List, List, %A_ScriptFullPath% ahk_class AutoHotkey
Loop % List
{ 
    WinGet, PID, PID, % "ahk_id" List%A_Index%
    If (PID != CurPID)
        Process, Close, %PID% 
}
 ; Далее нужный код
Run, %windir%\system32\notepad.exe
Runwait, C:\Windows\System32\fsutil.exe file createnew C:\test.txt 10000000000
FileCopy C:\test.txt, C:\test1.txt, 1
Exit:
WinClose, Untitled - Notepad
ExitApp

13

Re: AHK: Could not close the previous instance of this script.

Ну да, недавно сам только заметил http://forum.script-coding.com/viewtopic.php?id=9784.
В данном случае можно копировать малыми частями, из новой копии скрипта посылать WinClose, и ждать закрытия.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

14

Re: AHK: Could not close the previous instance of this script.

Тогда, наверное лучше прописывать значения переменных, полученные во время работы скрипта в ini файл и при повторном запуске считывать их с ini и делать с ними операции, которые должны были выполняться OnExit.
Правильно мыслю?