Page 1 of 2
Батник для создания нового файла с содержимым буфера обмена
Posted: Sat Nov 29, 2008 11:21 pm
by laburj
хотелось бы иметь bat-ник (на который после будет повешен хоткей), который создавал новый файл (если AkelPad уже запущен-то открывается новая вкладка) и в него копировалось содержание буфера обмена.
есть ли возможность такое реализовать?
(в хелпе нашёл только информацию только о создании файлов с заранее выбранным названием файла)
спасибо
Re: Батник для создания нового файла с содержимым буфера обм
Posted: Sun Nov 30, 2008 11:00 am
by DV
laburj wrote:есть ли возможность такое реализовать?
Используйте плагин Scripts с вызовом скрипта примерно такого содержания:
Code: Select all
var AkelPad=new ActiveXObject("AkelPad.document");
var hMainWnd = AkelPad.GetMainWnd();
var pText = AkelPad.GetClipboardText();
AkelPad.SendMessage(hMainWnd, 273 /*WM_COMMAND*/, 4101 /*IDM_FILE_NEW*/, 0);
AkelPad.SetSel(0, -1);
AkelPad.ReplaceSel(pText);
Подробнее см. "Scripts-Methods.txt", который входит в состав плагина Scripts.
Posted: Sun Nov 30, 2008 12:21 pm
by laburj
я наверно плохо объяснил, что я хочу
я хотел бы создать хоткей более глобальный, который запускался в любой программе:
пр. скопровал текст в опере, нажал хоткей- и получил новый файл с содержимым буфера в akelpadе
т.е. на хоткей я хотел бы повесить батник с командой типа (если бы это было возможно)
akelpad.exe /n /clippaste
Posted: Wed Dec 03, 2008 10:00 am
by Instructor
Scripts plugin v3.6 +
ClipPaste.js
И добавляете команду для глобальной горячей клавиши:
Code: Select all
WScript "c:\Program Files\AkelPad\AkelFiles\Plugs\Scripts\ClipPaste.js" "c:\Program Files\AkelPad\AkelPad.exe"
Posted: Wed Dec 03, 2008 3:19 pm
by laburj
спасибо огромное!
только одно "НО":
в случае, когда уже AkelPad запущен (свёрнут в панель задач) и после нажатия хоткея окно AkelPad'a не активируется.
можно ли это исправить?
Posted: Wed Dec 03, 2008 4:39 pm
by Instructor
Подкорректировано:
ClipPaste.js
Posted: Wed Dec 03, 2008 5:46 pm
by laburj
отлично! спасибо ещё раз
а я кстати тем временем нашёл ещё один вариант решения:
в скрипте программы AutoHotkey, запускающем по горячей клавише команду
Code: Select all
WScript "c:\totalcmd\utilits\AkelPad\AkelFiles\Plugs\Scripts\ClipPaste.js" "c:\totalcmd\utilits\AkelPad\AkelPad.exe"
добавил строчку, активирующую окно AkelPad:
Posted: Sat May 01, 2010 3:49 pm
by laburj
Instructor, обращаюсь вновь за помощью! хотелось бы подправить существующий скрипт, скажем так сделать аналог плагина CaptureClipboard.
т.е. примерно так:
при запуске скрипта в файл на активной вкладке в то место, где стоит курсор вставляется разделитель (например, два перехода на новую строчку), а после вставляется находящийся в буфере текст.
очень здорово было бы если также была возможность выбора поведения скрипта:
-проводить эту операцию в фоне (т.е. AkelPad не активировался)
-и наоборот
также хочется чтобы в самом скрипте можно было бы настроить разделитель.
заранее спасибо
Posted: Sun May 02, 2010 2:37 am
by Instructor
laburj
Чтобы вставить разделитель надо просто изменить строчку
на
Code: Select all
AkelPad.ReplaceSel("\n--------------------\n" + pText);
Чтобы окно не разворачивалось комментируем или удаляем блок:
Code: Select all
if (oFunction.Call("user32::GetForegroundWindow") != hMainWnd)
{
//...
}
Posted: Sun May 02, 2010 6:36 pm
by laburj
Instructor, а как сделать, чтобы при запуске скрипта в уже открытый файл на активной вкладке в то место, где стоит курсор вставлялся разделитель, а после вставлялся находящийся в буфере текст.
в данном случае каждый раз создаётся новая вкладка
Posted: Mon May 03, 2010 3:56 am
by Instructor
laburj
Чтобы не создавалась вкладка комментируем строку:
Code: Select all
AkelPad.SendMessage(hMainWnd, 273 /*WM_COMMAND*/, 4101 /*IDM_FILE_NEW*/, 0);
Posted: Mon May 03, 2010 5:24 am
by laburj
Instructor
в таком случае используется та же вкладка, но содержимое вкладки полностью затирается содержимым буфера
Posted: Mon May 03, 2010 5:28 am
by Instructor
Тогда меняем:
на

Posted: Mon May 03, 2010 6:16 am
by laburj
уже лучше) но текст вставляется в конце файла, а не в то место, где стоит курсор
Posted: Mon May 03, 2010 6:21 am
by Instructor
laburj
Тогда вообще уберите эту строчку.