Активировать окно FileZilla при сохранении на FTP
- Author
- Message
-
Offline
- Posts: 24
- Joined: Sat Jul 30, 2016 9:39 am
Активировать окно FileZilla при сохранении на FTP
Приветствую сокельпадчиков
Вопрос следующий.
AkelPad стоит как редактор по умолчанию в настройках FileZilla для всяких html, php, xml-файлов.
После открытия файла, изменения и сохранении - нужно каждый раз переключаться на окно FileZilla, чтобы подтвердить сохранение на FTP-сервер.
А оно может быть в этот момент закрыто другими окнами.
В принципе - небольшие временные затраты и фигня-вопрос, всего-то навести мышку на окно в панели задач и активировать.
Но когда этим занимаешься постоянно - запаривает и, как говорится, секунды складываются в минуты, а те в часы.
Кто подскажет - как, при вышеуказанных действиях, активировать автоматически окно FileZilla?
Именно когда открываешь файл с FTP на редактирование и сохраняешь, и FileZilla запущена.
Вопрос следующий.
AkelPad стоит как редактор по умолчанию в настройках FileZilla для всяких html, php, xml-файлов.
После открытия файла, изменения и сохранении - нужно каждый раз переключаться на окно FileZilla, чтобы подтвердить сохранение на FTP-сервер.
А оно может быть в этот момент закрыто другими окнами.
В принципе - небольшие временные затраты и фигня-вопрос, всего-то навести мышку на окно в панели задач и активировать.
Но когда этим занимаешься постоянно - запаривает и, как говорится, секунды складываются в минуты, а те в часы.
Кто подскажет - как, при вышеуказанных действиях, активировать автоматически окно FileZilla?
Именно когда открываешь файл с FTP на редактирование и сохраняешь, и FileZilla запущена.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Код вызова для Hotkeys, ContextMenu или Toolbar плагина:
Code: Select all
Call("Scripts::Main", 1, "EvalCmd.js", `AkelPad.Command(4105 /*IDM_FILE_SAVE*/); hWnd=AkelPad.SystemFunction().Call("user32::FindWindow" + _TCHAR, "wxWindowClassNR", "FileZilla"); AkelPad.SystemFunction().Call("user32::SetForegroundWindow", hWnd);` )
-
Offline
- Posts: 24
- Joined: Sat Jul 30, 2016 9:39 am
Вставил в меню вкладок.
Win7 x64, Akelpad x32 v.4.9.8, FileZilla x64 v.3.22.1, EvalCmd версии 1.2, все плагины присутствуют.
Вставил вот так :
Не работает
Отрабатывает только сохранение файла, окно FileZilla не активируется.
Win7 x64, Akelpad x32 v.4.9.8, FileZilla x64 v.3.22.1, EvalCmd версии 1.2, все плагины присутствуют.
Вставил вот так :
Code: Select all
"Save on FTP" Call("Scripts::Main", 1, "EvalCmd.js", `AkelPad.Command(4105 /*IDM_FILE_SAVE*/); hWnd=AkelPad.SystemFunction().Call("user32::FindWindow" + _TCHAR, "wxWindowClassNR", "FileZilla"); AkelPad.SystemFunction().Call("user32::SetForegroundWindow", hWnd);` ) Icon("%a\AkelFiles\Icons\FZ.ico")
Отрабатывает только сохранение файла, окно FileZilla не активируется.
Last edited by Sticher78 on Thu Nov 03, 2016 11:12 am, edited 1 time in total.
-
Offline
- Posts: 24
- Joined: Sat Jul 30, 2016 9:39 am
Не срабатывает, мб, потому что у FileZilla в этот момент вылазит диалоговое окно сохранения?
Хотя скриптик из 3 строк вызывает его окно:
я его обозвал ActivateFZ.js и положил в "%a\AkelFiles\Plugs\Scripts\ActivateFZ.js".
Мб, его как-то прикрутить к сохранению?
Хотя скриптик из 3 строк вызывает его окно:
Code: Select all
var WshShell;
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.AppActivate ("FileZilla");
Мб, его как-то прикрутить к сохранению?
-
Offline
- Posts: 24
- Joined: Sat Jul 30, 2016 9:39 am
В общем, сам спросил - сам и ответил.
Добавил в начало скриптика вызов внутренней команды сохранения и получил, то что хотел:
Скрипт обозвал, как мне надо и на кнопку на тулбаре повесил его вызов.
Instructor, я хз, почему не работает твой код, но спс за пинок в правильном направлении.
Глядишь - кому пригодится данный код.
Добавил в начало скриптика вызов внутренней команды сохранения и получил, то что хотел:
Code: Select all
AkelPad.Command(4105);
var WshShell;
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.AppActivate ("FileZilla");
Instructor, я хз, почему не работает твой код, но спс за пинок в правильном направлении.
Глядишь - кому пригодится данный код.
-
Offline
- Posts: 157
- Joined: Thu Nov 26, 2015 8:03 pm
- Location: Rostov-on-Don
подскажите пожалуйста, какой инструкцией в скрипте можно проверить, что файл не изменялся?
скажем, если делается горячая клавиша на скрипт, и при нажатии сочетания нужно чтобы фокус не перебрасывался на окно другой программы в тех случаях, когда на вкладке файла не горит звёздочка (т.е файл не отличается от сохранённого)
скажем, если делается горячая клавиша на скрипт, и при нажатии сочетания нужно чтобы фокус не перебрасывался на окно другой программы в тех случаях, когда на вкладке файла не горит звёздочка (т.е файл не отличается от сохранённого)
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
-
Offline
- Posts: 157
- Joined: Thu Nov 26, 2015 8:03 pm
- Location: Rostov-on-Don
Спасибо! Из UndoAll.js собрал рабочий фрагмент
Code: Select all
var hWndEdit=AkelPad.GetEditWnd();
if (AkelPad.SendMessage(hWndEdit, 3086 /*AEM_GETMODIFY*/, 0, 0))
{WScript.Echo("ЕСЛИ ФАЙЛ ИЗМЕНЁН"); /*ИЛИ ИНОЙ КОД */ }
else {WScript.Echo("ЕСЛИ ФАЙЛ ПРЕЖНИЙ"); /*ИЛИ ИНОЙ КОД */ }
-
Offline
- Posts: 157
- Joined: Thu Nov 26, 2015 8:03 pm
- Location: Rostov-on-Don
команда в js-скрипте, чтобы закрыть AkelPad
подскажите, какую можно использовать инструкцию в js-скрипте AP, чтобы закрыть AkelPad со всеми вкладками. Пытаюсь сделать скрипт с опцией перезапуска или закрытия AP в зависимости от условия, вот застрял..
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
Eskander88
1. для закрытия:
2. для перезапуска, посмотрите "restart.js" ((c) Infocatcher 2014). Но там используется сторонний софт:
1. для закрытия:
Code: Select all
AkelPad.Command(4109);