1 (изменено: Maxfashko, 2012-12-27 09:44:33)

Тема: AHK: ControlSend (выполнение действия в неактивном окне)

Доброго времени суток!

есть такой вот код, который работает через раз ( точнее на пятое или шестое нажатие клавиши f5)




F5::

winwait, Вариограф - %tmpStr% 
ControlSend,,^{vk43}, Вариограф - %tmpStr% 
sleep, 500
ControlSend,,{Enter}, ahk_class #32770

в чем проблема?
причем, если запускать только  один раз, работает!
на второе нажатие не реагирует (так до 5-10 нажатий) для второго запуска


В чем проблема?

2 (изменено: Irbis, 2012-12-27 10:32:49)

Re: AHK: ControlSend (выполнение действия в неактивном окне)

.

3

Re: AHK: ControlSend (выполнение действия в неактивном окне)

creature.ws пишет:

•

#IfWinExist Вариограф
    F5::
        ControlSend,,^{vk43}
        sleep, 500
        ControlSend,,{Enter}, ahk_class #32770
        return

всё здорово, как надо.
Только return мне там мешает. после этого кода у меня идёт продолжение

IfWinNotExist, Adode Photoshop CS5
Run, C:\Program Files (x86)\RepPhotoshop\x64\Photoshop.exe
WinWait, ahk_class Photoshop
WinActivate
Send {F12}

после return скрипт стоит. Без return работает некоректно

4

Re: AHK: ControlSend (выполнение действия в неактивном окне)

Maxfashko, название темы ни о чём не говорит, к тому же не по-русски. Отредактируйте.

5

Re: AHK: ControlSend (выполнение действия в неактивном окне)

creature.ws пишет:
#IfWinExist Вариограф
    F5::
        ControlSend,,^{vk43}
        sleep, 500
        ControlSend,,{Enter}, ahk_class #32770
        if !hwnd := WinExist("ahk_class Photoshop") {
            Run, C:\Program Files (x86)\RepPhotoshop\x64\Photoshop.exe
            WinWait, ahk_class Photoshop,, 3 ; ожидаем окончание загрузки и создание окна фотошопа в течении 3-х секунд.
        }
        if (hwnd || !ErrorLevel) {
            WinActivate
            Send {F12}
        }
        return

#IfWinExist ; конец секции контекстнозависимых горячих клавиш

работает некорректно

проходит нажатие, но не выполняет его (смотрел в логе)
далее активирует фотошоп.