Сообщения тоталу
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Сообщения тоталу
Добрый день!!!! Подскажите пожалуйста, где можно посмотреть перечень комманд которые понимает тотал. SendMessage();
Заранее спасибо.................
Заранее спасибо.................
Re: Сообщения тоталу
В исходниках Тотал КоммандерПризрак писал(а):Добрый день!!!! Подскажите пожалуйста, где можно посмотреть перечень комманд которые понимает тотал. SendMessage();
Мне кажется, что контекст слова все недвусмысленно определен вопросом:
чем исходники Тотала. Хотя, разумеется, ты прав: в этом файле - только малая часть понимаемых Тоталом команд.
А вот, к примеру, пробовал я получить выделенные в панели файлы/папки с помощью LB_GETSELITEMS и LB_GETTEXT и обломался. На выходе получается нечто никак не похожее на имена. Не знаю есть ли про это что-нибудь в исходниках (в Totalcmd.inc точно нет), но этот вопрос меня интересует. А именно: можно ли получить имена выделенных файлов/папок без копирования их в буфер и без создания кнопки или пункта в меню Запуск (с параметром %L, например). Если ты, уважаемый Volniy или кто-нибудь еще знаете, как это можно сделать, то поделитесь с народом (мной). Был бы премного благодарен.
Вряд ли Призрак спрашивал про WinAPI вообще. Кроме того, Totalcmd.inc гораздо более доступенПризрак писал(а):... где можно посмотреть перечень комманд которые понимает тотал...
А вот, к примеру, пробовал я получить выделенные в панели файлы/папки с помощью LB_GETSELITEMS и LB_GETTEXT и обломался. На выходе получается нечто никак не похожее на имена. Не знаю есть ли про это что-нибудь в исходниках (в Totalcmd.inc точно нет), но этот вопрос меня интересует. А именно: можно ли получить имена выделенных файлов/папок без копирования их в буфер и без создания кнопки или пункта в меню Запуск (с параметром %L, например). Если ты, уважаемый Volniy или кто-нибудь еще знаете, как это можно сделать, то поделитесь с народом (мной). Был бы премного благодарен.
Belkin писал(а):А вот, к примеру, пробовал я получить выделенные в панели файлы/папки с помощью LB_GETSELITEMS и LB_GETTEXT и обломался. На выходе получается нечто никак не похожее на имена.
А вот, к примеру, Microsoft® писал(а):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).
Да справку-то я, разумеется, читал. Но мой вопрос был:Volniy писал(а):А вот, к примеру, Microsoft® писал(а):
Иными словами, если у тебя есть подходящий код, или ты можешь подсказать, где его взять, или, накрайняк, ты готов авторитетно заявить, что вопрос не решаем, тогда и прошу высказаться.Если ты, уважаемый Volniy или кто-нибудь еще знаете, как это можно сделать, то поделитесь с народом (мной). Был бы премного благодарен.
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
В моих творениях (любая ссылка в подписи) сообщения шлются разным окнам ТС где-то в двух скриптах из трех. Общих законов лично мной не обнаружено, однако все можно быстро проверить - производит нужный эффект или нет. Меня тоже когда-то Volniy уму-разуму поучил малость (ссылка).
Вот тут я изложил кое-что по данному вопросу.
Упавший ТС - это самое страшное, что может при этом тебе грозить. Так что твори, выдумывай, пробуй. Иногда заба-а-авные результаты получаются...
Вот тут я изложил кое-что по данному вопросу.
Упавший ТС - это самое страшное, что может при этом тебе грозить. Так что твори, выдумывай, пробуй. Иногда заба-а-авные результаты получаются...
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Ну какой же я, однако, авторитет. А если для тебя та цитата оказалась недостаточно авторитетна, то даже не знаю, как с тобой говорить. Ведь ясно же сказано, что эти ListBox-ы в Тотале не хранят в себе текст (кстати, применен еще и стиль LBS_NODATA), а значит и извлечь его оттуда невозможно. Не веришь - продолжай экспериментировать.Belkin писал(а):Иными словами, если у тебя есть подходящий код, или ты можешь подсказать, где его взять, или, накрайняк, ты готов авторитетно заявить, что вопрос не решаем, тогда и прошу высказаться.
Чтобы снять ограничения стандартного ListBox-а, я думаю. В частности если так не сделать, в Win95 в стандартный список больше чем 32767 элементов не вмещается. Ну и иконки рисовать надо, фон под выделенные, разные цвета шрифта и тп. Такое стандартный ListBox не может. А через OwnerDraw - хозяин-барин, делай шо хошь.funduk писал(а):А ты не знаешь, зачем Гислер так сделал? Вернее, чем он МОГ руководствоваться?
Да, твои творения я периодически внимательно просматриваю на предмет идей. Я не юзаю PowerPro (пробовал поюзать, но как-то не подсел), а вот на AutoHotkey - подсел. И поскольку я полагаю, что идеи автоматизаций значительно ценнее конкретной реализации, то и прими мои благодарности за твои труды: подхватил немало ценного.Вахмурка писал(а):В моих творениях (любая ссылка в подписи) сообщения шлются разным окнам ТС где-то в двух скриптах из трех.
Да, это действительно ясно. Но ход моих незатейливых мыслей не касается ListBox-ов, и выглядит примерно так: если сам Тотал как-то может получать эти спискиVolniy писал(а):Ведь ясно же сказано, что эти ListBox-ы в Тотале не хранят в себе текст.
Если ты пользуешься своей кредиткой для снятия наличности в банкомате, значит ты откуда-то берешь ее пин-код. А раз ты его откуда-то берешь, значит теоретически до него можно добраться. Но я даже спрашивать не буду "как"...Belkin писал(а):Да, это действительно ясно. Но ход моих незатейливых мыслей не касается ListBox-ов, и выглядит примерно так: если сам Тотал как-то может получать эти списки, значит он, вероятно, держит их где-то (в памяти процесса, например). А раз он их где-то держит, то теоретически до них можно добраться. А раз можно добраться, то нужно узнать - как. Вот, собственно, про это "как" и был мой вопрос.
Вам не кажется, что мы существенно отклонились от темы?
Нет, в качестве сообщения указывать WM_USER+51 (1075 в десятичном виде), а wParam - берешь из Totalcmd.inc (в десятичном же виде). lParam = 0.
Т.е., смотрим в Totalcmd.inc, допустим, cm_ShowQuickSearch=2915, тогда команда будет выглядеть примерно так (в зависимости от языка, на котором ты пишешь):Это пример для синтаксиса AutoHotkey.
Т.е., смотрим в Totalcmd.inc, допустим, cm_ShowQuickSearch=2915, тогда команда будет выглядеть примерно так (в зависимости от языка, на котором ты пишешь):
Код: Выделить всё
PostMessage, 1075, 2915, 0,, ahk_class TTOTAL_CMD