Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Сообщения тоталу
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Призрак



Joined: 02 Oct 2006
Posts: 16

Post (Separately) Posted: Fri Oct 06, 2006 07:20    Post subject: Сообщения тоталу Reply with quote

Добрый день!!!! Подскажите пожалуйста, где можно посмотреть перечень комманд которые понимает тотал. SendMessage();
Заранее спасибо.................
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Fri Oct 06, 2006 14:34    Post subject: Re: Сообщения тоталу Reply with quote

Призрак wrote:
Добрый день!!!! Подскажите пожалуйста, где можно посмотреть перечень комманд которые понимает тотал. SendMessage();


В исходниках Тотал Коммандер Laughing
Back to top
View user's profile Send private message
Belkin



Joined: 22 Feb 2005
Posts: 26

Post (Separately) Posted: Fri Oct 06, 2006 15:58    Post subject: Reply with quote

Все команды, которые можно использовать в Тотале с помошью SendMessage или PostMessage, хранятся в файле Totalcmd.inc
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Fri Oct 06, 2006 22:31    Post subject: Reply with quote

Belkin wrote:
Все команды, которые можно использовать в Тотале с помошью SendMessage или PostMessage, хранятся в файле Totalcmd.inc

Ну, только не все. Это только малая их часть. Никто ведь не запретит посылать команды, отсутствующие в этом списке (ну, например, WM_GETTEXT, WM_CLOSE и пр)
Back to top
View user's profile Send private message
Belkin



Joined: 22 Feb 2005
Posts: 26

Post (Separately) Posted: Sat Oct 07, 2006 03:17    Post subject: Reply with quote

Мне кажется, что контекст слова все недвусмысленно определен вопросом:
Призрак wrote:
... где можно посмотреть перечень комманд которые понимает тотал...

Вряд ли Призрак спрашивал про WinAPI вообще. Кроме того, Totalcmd.inc гораздо более доступен Very Happy чем исходники Тотала. Хотя, разумеется, ты прав: в этом файле - только малая часть понимаемых Тоталом команд.

А вот, к примеру, пробовал я получить выделенные в панели файлы/папки с помощью LB_GETSELITEMS и LB_GETTEXT и обломался. На выходе получается нечто никак не похожее на имена. Не знаю есть ли про это что-нибудь в исходниках (в Totalcmd.inc точно нет), но этот вопрос меня интересует. А именно: можно ли получить имена выделенных файлов/папок без копирования их в буфер и без создания кнопки или пункта в меню Запуск (с параметром %L, например). Если ты, уважаемый Volniy или кто-нибудь еще знаете, как это можно сделать, то поделитесь с народом (мной). Был бы премного благодарен.
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Sun Oct 08, 2006 00:26    Post subject: Reply with quote

Belkin wrote:
А вот, к примеру, пробовал я получить выделенные в панели файлы/папки с помощью LB_GETSELITEMS и LB_GETTEXT и обломался. На выходе получается нечто никак не похожее на имена.

А вот, к примеру, Microsoft® wrote:
LB_GETTEXT remarks:

If you create the list box with an owner-drawn style but without the LBS_HASSTRINGS style, the buffer pointed to by the lpszBuffer parameter will receive the 32-bit value associated with the item (the item data).
Back to top
View user's profile Send private message
Belkin



Joined: 22 Feb 2005
Posts: 26

Post (Separately) Posted: Sun Oct 08, 2006 05:37    Post subject: Reply with quote

Volniy wrote:
А вот, к примеру, Microsoft® писал(а):

Да справку-то я, разумеется, читал. Но мой вопрос был:
Quote:
Если ты, уважаемый Volniy или кто-нибудь еще знаете, как это можно сделать, то поделитесь с народом (мной). Был бы премного благодарен.

Иными словами, если у тебя есть подходящий код, или ты можешь подсказать, где его взять, или, накрайняк, ты готов авторитетно заявить, что вопрос не решаем, тогда и прошу высказаться.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Sun Oct 08, 2006 11:49    Post subject: Reply with quote

В моих творениях (любая ссылка в подписи) сообщения шлются разным окнам ТС где-то в двух скриптах из трех. Общих законов лично мной не обнаружено, однако все можно быстро проверить - производит нужный эффект или нет. Меня тоже когда-то Volniy уму-разуму поучил малость (ссылка).
Вот тут я изложил кое-что по данному вопросу.
Упавший ТС - это самое страшное, что может при этом тебе грозить. Так что твори, выдумывай, пробуй. Иногда заба-а-авные результаты получаются...
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Sun Oct 08, 2006 12:01    Post subject: Reply with quote

Belkin wrote:
Иными словами, если у тебя есть подходящий код, или ты можешь подсказать, где его взять, или, накрайняк, ты готов авторитетно заявить, что вопрос не решаем, тогда и прошу высказаться.

Ну какой же я, однако, авторитет. А если для тебя та цитата оказалась недостаточно авторитетна, то даже не знаю, как с тобой говорить. Ведь ясно же сказано, что эти ListBox-ы в Тотале не хранят в себе текст (кстати, применен еще и стиль LBS_NODATA), а значит и извлечь его оттуда невозможно. Не веришь - продолжай экспериментировать. Laughing
Back to top
View user's profile Send private message
funduk



Joined: 16 Aug 2005
Posts: 1513
Location: Санкт-Петербург

Post (Separately) Posted: Sun Oct 08, 2006 14:05    Post subject: Reply with quote

А ты не знаешь, зачем Гислер так сделал? Вернее, чем он МОГ руководствоваться?
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Sun Oct 08, 2006 23:10    Post subject: Reply with quote

funduk wrote:
А ты не знаешь, зачем Гислер так сделал? Вернее, чем он МОГ руководствоваться?

Чтобы снять ограничения стандартного ListBox-а, я думаю. В частности если так не сделать, в Win95 в стандартный список больше чем 32767 элементов не вмещается. Ну и иконки рисовать надо, фон под выделенные, разные цвета шрифта и тп. Такое стандартный ListBox не может. А через OwnerDraw - хозяин-барин, делай шо хошь.
Back to top
View user's profile Send private message
Belkin



Joined: 22 Feb 2005
Posts: 26

Post (Separately) Posted: Sun Oct 08, 2006 23:47    Post subject: Reply with quote

Вахмурка wrote:
В моих творениях (любая ссылка в подписи) сообщения шлются разным окнам ТС где-то в двух скриптах из трех.

Да, твои творения я периодически внимательно просматриваю на предмет идей. Я не юзаю PowerPro (пробовал поюзать, но как-то не подсел), а вот на AutoHotkey - подсел. И поскольку я полагаю, что идеи автоматизаций значительно ценнее конкретной реализации, то и прими мои благодарности за твои труды: подхватил немало ценного.

Volniy wrote:
Ведь ясно же сказано, что эти ListBox-ы в Тотале не хранят в себе текст.

Да, это действительно ясно. Но ход моих незатейливых мыслей не касается ListBox-ов, и выглядит примерно так: если сам Тотал как-то может получать эти списки Smile , значит он, вероятно, держит их где-то (в памяти процесса, например). А раз он их где-то держит, то теоретически до них можно добраться. А раз можно добраться, то нужно узнать - как. Вот, собственно, про это "как" и был мой вопрос.
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Mon Oct 09, 2006 03:57    Post subject: Reply with quote

Belkin wrote:
Да, это действительно ясно. Но ход моих незатейливых мыслей не касается ListBox-ов, и выглядит примерно так: если сам Тотал как-то может получать эти списки Smile , значит он, вероятно, держит их где-то (в памяти процесса, например). А раз он их где-то держит, то теоретически до них можно добраться. А раз можно добраться, то нужно узнать - как. Вот, собственно, про это "как" и был мой вопрос.


Если ты пользуешься своей кредиткой для снятия наличности в банкомате, значит ты откуда-то берешь ее пин-код. А раз ты его откуда-то берешь, значит теоретически до него можно добраться. Но я даже спрашивать не буду "как"... Wink

Вам не кажется, что мы существенно отклонились от темы?
Back to top
View user's profile Send private message
Призрак



Joined: 02 Oct 2006
Posts: 16

Post (Separately) Posted: Mon Oct 09, 2006 12:41    Post subject: Reply with quote

Всем большое спасибо!!!! Я решил эту проблему посылая команду "cd путь " в командную строку и посылая клавишу Enter, но терь наверное переделаю через команды, насколько я понял, в качестве сообщения указываем номре, а параметры передаются как lParam????
Back to top
View user's profile Send private message
Belkin



Joined: 22 Feb 2005
Posts: 26

Post (Separately) Posted: Mon Oct 09, 2006 20:02    Post subject: Reply with quote

Нет, в качестве сообщения указывать WM_USER+51 (1075 в десятичном виде), а wParam - берешь из Totalcmd.inc (в десятичном же виде). lParam = 0.
Т.е., смотрим в Totalcmd.inc, допустим, cm_ShowQuickSearch=2915, тогда команда будет выглядеть примерно так (в зависимости от языка, на котором ты пишешь):
Code:
PostMessage, 1075, 2915, 0,, ahk_class TTOTAL_CMD
Это пример для синтаксиса AutoHotkey.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
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


Powered by phpBB © 2001, 2005 phpBB Group