View previous topic :: View next topic |
Author |
Message |
Призрак
Joined: 02 Oct 2006 Posts: 16
|
(Separately) Posted: Fri Oct 06, 2006 07:20 Post subject: Сообщения тоталу |
|
|
Добрый день!!!! Подскажите пожалуйста, где можно посмотреть перечень комманд которые понимает тотал. SendMessage();
Заранее спасибо................. |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Fri Oct 06, 2006 14:34 Post subject: Re: Сообщения тоталу |
|
|
Призрак wrote: | Добрый день!!!! Подскажите пожалуйста, где можно посмотреть перечень комманд которые понимает тотал. SendMessage(); |
В исходниках Тотал Коммандер  |
|
Back to top |
|
 |
Belkin
Joined: 22 Feb 2005 Posts: 26
|
(Separately) Posted: Fri Oct 06, 2006 15:58 Post subject: |
|
|
Все команды, которые можно использовать в Тотале с помошью SendMessage или PostMessage, хранятся в файле Totalcmd.inc |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Fri Oct 06, 2006 22:31 Post subject: |
|
|
Belkin wrote: | Все команды, которые можно использовать в Тотале с помошью SendMessage или PostMessage, хранятся в файле Totalcmd.inc |
Ну, только не все. Это только малая их часть. Никто ведь не запретит посылать команды, отсутствующие в этом списке (ну, например, WM_GETTEXT, WM_CLOSE и пр) |
|
Back to top |
|
 |
Belkin
Joined: 22 Feb 2005 Posts: 26
|
(Separately) Posted: Sat Oct 07, 2006 03:17 Post subject: |
|
|
Мне кажется, что контекст слова все недвусмысленно определен вопросом:
Призрак wrote: | ... где можно посмотреть перечень комманд которые понимает тотал... |
Вряд ли Призрак спрашивал про WinAPI вообще. Кроме того, Totalcmd.inc гораздо более доступен чем исходники Тотала. Хотя, разумеется, ты прав: в этом файле - только малая часть понимаемых Тоталом команд.
А вот, к примеру, пробовал я получить выделенные в панели файлы/папки с помощью LB_GETSELITEMS и LB_GETTEXT и обломался. На выходе получается нечто никак не похожее на имена. Не знаю есть ли про это что-нибудь в исходниках (в Totalcmd.inc точно нет), но этот вопрос меня интересует. А именно: можно ли получить имена выделенных файлов/папок без копирования их в буфер и без создания кнопки или пункта в меню Запуск (с параметром %L, например). Если ты, уважаемый Volniy или кто-нибудь еще знаете, как это можно сделать, то поделитесь с народом (мной). Был бы премного благодарен. |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sun Oct 08, 2006 00:26 Post subject: |
|
|
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 |
|
 |
Belkin
Joined: 22 Feb 2005 Posts: 26
|
(Separately) Posted: Sun Oct 08, 2006 05:37 Post subject: |
|
|
Volniy wrote: | А вот, к примеру, Microsoft® писал(а): |
Да справку-то я, разумеется, читал. Но мой вопрос был: Quote: | Если ты, уважаемый Volniy или кто-нибудь еще знаете, как это можно сделать, то поделитесь с народом (мной). Был бы премного благодарен. |
Иными словами, если у тебя есть подходящий код, или ты можешь подсказать, где его взять, или, накрайняк, ты готов авторитетно заявить, что вопрос не решаем, тогда и прошу высказаться. |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
(Separately) Posted: Sun Oct 08, 2006 11:49 Post subject: |
|
|
В моих творениях (любая ссылка в подписи) сообщения шлются разным окнам ТС где-то в двух скриптах из трех. Общих законов лично мной не обнаружено, однако все можно быстро проверить - производит нужный эффект или нет. Меня тоже когда-то Volniy уму-разуму поучил малость (ссылка).
Вот тут я изложил кое-что по данному вопросу.
Упавший ТС - это самое страшное, что может при этом тебе грозить. Так что твори, выдумывай, пробуй. Иногда заба-а-авные результаты получаются... _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sun Oct 08, 2006 12:01 Post subject: |
|
|
Belkin wrote: | Иными словами, если у тебя есть подходящий код, или ты можешь подсказать, где его взять, или, накрайняк, ты готов авторитетно заявить, что вопрос не решаем, тогда и прошу высказаться. |
Ну какой же я, однако, авторитет. А если для тебя та цитата оказалась недостаточно авторитетна, то даже не знаю, как с тобой говорить. Ведь ясно же сказано, что эти ListBox-ы в Тотале не хранят в себе текст (кстати, применен еще и стиль LBS_NODATA), а значит и извлечь его оттуда невозможно. Не веришь - продолжай экспериментировать.  |
|
Back to top |
|
 |
funduk

Joined: 16 Aug 2005 Posts: 1513 Location: Санкт-Петербург
|
(Separately) Posted: Sun Oct 08, 2006 14:05 Post subject: |
|
|
А ты не знаешь, зачем Гислер так сделал? Вернее, чем он МОГ руководствоваться? |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sun Oct 08, 2006 23:10 Post subject: |
|
|
funduk wrote: | А ты не знаешь, зачем Гислер так сделал? Вернее, чем он МОГ руководствоваться? |
Чтобы снять ограничения стандартного ListBox-а, я думаю. В частности если так не сделать, в Win95 в стандартный список больше чем 32767 элементов не вмещается. Ну и иконки рисовать надо, фон под выделенные, разные цвета шрифта и тп. Такое стандартный ListBox не может. А через OwnerDraw - хозяин-барин, делай шо хошь. |
|
Back to top |
|
 |
Belkin
Joined: 22 Feb 2005 Posts: 26
|
(Separately) Posted: Sun Oct 08, 2006 23:47 Post subject: |
|
|
Вахмурка wrote: | В моих творениях (любая ссылка в подписи) сообщения шлются разным окнам ТС где-то в двух скриптах из трех. |
Да, твои творения я периодически внимательно просматриваю на предмет идей. Я не юзаю PowerPro (пробовал поюзать, но как-то не подсел), а вот на AutoHotkey - подсел. И поскольку я полагаю, что идеи автоматизаций значительно ценнее конкретной реализации, то и прими мои благодарности за твои труды: подхватил немало ценного.
Volniy wrote: | Ведь ясно же сказано, что эти ListBox-ы в Тотале не хранят в себе текст. |
Да, это действительно ясно. Но ход моих незатейливых мыслей не касается ListBox-ов, и выглядит примерно так: если сам Тотал как-то может получать эти списки , значит он, вероятно, держит их где-то (в памяти процесса, например). А раз он их где-то держит, то теоретически до них можно добраться. А раз можно добраться, то нужно узнать - как. Вот, собственно, про это "как" и был мой вопрос. |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Mon Oct 09, 2006 03:57 Post subject: |
|
|
Belkin wrote: | Да, это действительно ясно. Но ход моих незатейливых мыслей не касается ListBox-ов, и выглядит примерно так: если сам Тотал как-то может получать эти списки , значит он, вероятно, держит их где-то (в памяти процесса, например). А раз он их где-то держит, то теоретически до них можно добраться. А раз можно добраться, то нужно узнать - как. Вот, собственно, про это "как" и был мой вопрос. |
Если ты пользуешься своей кредиткой для снятия наличности в банкомате, значит ты откуда-то берешь ее пин-код. А раз ты его откуда-то берешь, значит теоретически до него можно добраться. Но я даже спрашивать не буду "как"...
Вам не кажется, что мы существенно отклонились от темы? |
|
Back to top |
|
 |
Призрак
Joined: 02 Oct 2006 Posts: 16
|
(Separately) Posted: Mon Oct 09, 2006 12:41 Post subject: |
|
|
Всем большое спасибо!!!! Я решил эту проблему посылая команду "cd путь " в командную строку и посылая клавишу Enter, но терь наверное переделаю через команды, насколько я понял, в качестве сообщения указываем номре, а параметры передаются как lParam???? |
|
Back to top |
|
 |
Belkin
Joined: 22 Feb 2005 Posts: 26
|
(Separately) Posted: Mon Oct 09, 2006 20:02 Post subject: |
|
|
Нет, в качестве сообщения указывать 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 |
|
 |
|
|
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
|