Тема: AHK: Некорректные действия скрипта
Доброго времени суток друзья!
Столкнулся со следующей проблемой в скрипте.
После запуска скрипта (n-е количество раз) перестаёт реагировать команда Send, и скрипт продолжает выполнение со следующей строки.
{ifWinExist, Вариограф ; поиск окна "vg"
{
WinActivate ; активация окна
}
else ; или
{
Run, C:\Program Files (x86)\Variograph 4.6.44\vg.exe ; запуск vg
WinWait, C:\Program Files (x86)\Variograph 4.6.44\vg.exe; ожидание появления окна "vg"
WinActivate ; активация окна
}
}
FileRead, FileName, D:\work\Script VAR\1.txt; замен строки
RegExMatch(FileName, "m`a).*>.*", FileName)
Stringreplace,FileName,FileName, >, _
FileName := RegExReplace(FileName, ".jpg|.png|.psd")
DropFiles( "D:\work\Script VAR\готовые\" FileName ".psd", "Вариограф" )
DropFiles(ByRef fileList, windowTitle := "", ctrl := "", x := 0, y := 0, NCA := 0); перетяшивание файла в окно vg
{
offset := 20
VarSetCapacity(dropFiles, StrLen(fileList) + offset, 0)
pDP := &dropFiles
loop, parse, fileList, `n, `r
StrPut(A_LoopField, pDP + offset, StrLen(A_LoopField), "CP0")
, offset += StrLen(A_LoopField) + 4
, NumPut(0, pDP + offset - 4, "UInt")
NumPut(0, pDP + offset, "UInt")
NumPut(20, pDP + 0, "UInt")
NumPut(x, pDP + 4, "UInt")
NumPut(y, pDP + 8, "UInt")
NumPut(NCA, pDP + 12, "UInt")
NumPut(0, pDP + 16, "UInt")
nSize := offset + 4
hDrop := DllCall("GlobalAlloc", "UInt", 0x42, "UInt", nSize, "Ptr")
pData := DllCall("GlobalLock", "Ptr", hDrop, "Ptr")
DllCall("RtlMoveMemory", "Ptr", pData, "Ptr", pDP, "UInt", nSize)
DllCall("GlobalUnlock", "Ptr", hDrop)
PostMessage, 0x233, hDrop, 0, %ctrl%, %windowTitle%
}
return
F9::
{if KeepRunning = y ; проверка переменной, она будет отвечать за вкл либо выкл цикла.
KeepRunning = y ; запуск, переменная создана (следующее нажатие кнопки F9 кадрирование)
Send ^c; за это сочетание отвечает команда кадрировать в программе с ней и есть проблемы
Send {Enter}
}
KeyWait, F9
{ifWinExist, Adode Photoshop CS3
{
WinActivate
}
else
{
Run, C:\Program Files (x86)\Adobe\Adobe Photoshop CS3\Photoshop.exe
WinWait, C:\Program Files (x86)\Adobe\Adobe Photoshop CS3\Photoshop.exe
WinActivate
}
}
Буду очень признателен, если укажете в чем тут дело.

