AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

AkelPad и другие приложения

 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
Skif_off



Joined: 20 Oct 2013
Posts: 332

PostPosted: Wed Jul 23, 2014 11:49 am    Post subject: AkelPad и другие приложения Reply with quote

Возможно ли посылать полноценные команды AkelPad из другого приложения? Забирать текст как скрипты, а не передавая путь файла внешней утилите (предварительно сохранив этот самый файл (только так работает, например, Tidy AutoIt: вероятно, утилита крайне заточена под SciTE)) и делать с ним что угодно? Или хотя бы то, что можно записать как строку меню или кнопку тулбара. И если да, то как?

Научился скриптом AutoIt посылать внутренние команды (4101-5001, без опциональных параметров):
Code:
$hAkelPad = WinGetHandle("[CLASS:AkelPad4]")
WinActivate($hAkelPad)

_SendMessage($hAkelPad, $WM_COMMAND, 4157, 0) ; Выделить все
If @error Then
    MsgBox(4096, "", "_SendMessage Error: " & @error)
    Exit
EndIf   

Описание функции _SendMessage, с @error пока не разбирался. Так понимаю, аналог SendMessage

WinActivate($hAkelPad), кажется, не обязательно.

Не знаю, что правильнее - класс окна AkelPad или окна редактирования - AkelPad4 или AkelEditW? Вероятно, зависит от целей?

$WM_COMMAND = 0x0111 - непонятно, это действительно константа или нужно менять? Для одной из команд ТС мне подсказали с оговоркой "в данном случае равно %число%", значит надо где-то посмотреть? Smile Вероятно, грозит вдумчивое чтение AkelEdit.c?

Или только через COM-объекты и мне, как дилетанту, нечего соваться? Smile

И если возможно, пару-тройку примеров: вызов плагина, скрипта с хотя бы одним параметром и что-нибудь из методов из Script-Rus.txt.
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5373

PostPosted: Wed Jul 23, 2014 12:31 pm    Post subject: Reply with quote

Skif_off
Из другого приложения в одностороннем порядке можно посылать командую строку на обработку AkelPad'у с помощью WM_COPYDATA с CD_PARSECMDLINEW (см. AkelDLL.h).

Для целей двухстороннего диалога можно использовать Scripts плагин. Недавно была тема в англоязычной ветке.

Skif_off wrote:
$WM_COMMAND = 0x0111 - непонятно, это действительно константа или нужно менять?
Это константа.

Quote:
И если возможно, пару-тройку примеров: вызов плагина, скрипта с хотя бы одним параметром и что-нибудь из методов из Script-Rus.txt.
Это лучше спросить у пользователей AutoIt как послать WM_COPYDATA.
Back to top
View user's profile Send private message Send e-mail
Skif_off



Joined: 20 Oct 2013
Posts: 332

PostPosted: Wed Jul 23, 2014 3:40 pm    Post subject: Reply with quote

Instructor
Кажется, не по Сеньке, так сказать, шапка Smile Но энтузиазм (самонадеянность?) пока не угас: перегнал все Defines из AkelDLL.h в Global Const, нашел образец, но DllStructCreate пока за гранью понимания.

Вы можете привести пример кода на С/С++ для отправки AkelPad, например
Code:
Call("Scripts::Main", 1, "ChmKeyword.js", `-Name="AutoIt.chm" -Maximize=false -CatchEsc=false`)

?
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2042
Location: Vinnitsa, Ukraine

PostPosted: Wed Jul 23, 2014 4:27 pm    Post subject: Reply with quote

Quote:
Вы можете привести пример кода на С/С++ для отправки AkelPad, например
Hotkeys плагин один большой пример Smile)
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Skif_off



Joined: 20 Oct 2013
Posts: 332

PostPosted: Wed Jul 23, 2014 5:43 pm    Post subject: Reply with quote

FeyFre
Еще ToolBar Smile Я мало того, что не программист, бывает - туплю, особенно с абстрактными примерами. Конкретный актуальный пример - самое оно.

Собственно, у меня есть запасной вариант: найти подходящий скрипт с подходящим окном Smile Хотя, конечно, сразу сдаваться нехорошо.
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 332

PostPosted: Wed Jul 30, 2014 6:11 pm    Post subject: Reply with quote

Посмотрел AkelEdit.h, кажется, можно попробовать SendMessage.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group