Программный запуск Листера

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Ответить
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Программный запуск Листера

Сообщение Maximus »

Можно ли послать Тоталу команду, которая открыла бы Листер, а в нем нужный файл. Если можно, то какую и как ?
Аватара пользователя
Rulchik
Сообщения: 36
Зарегистрирован: Ср июн 29, 2005 16:10
Откуда: Санкт-Петербург
Контактная информация:

Сообщение Rulchik »

Maximus
cm_List [полный путь к файлу]
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

2Rulchik
Ну спасибо:)))
А если чесно, то это немного не то, что я хотел узнать.
Под программным запуском я подразумеваю запуск из отдельного приложения или из того же Листера. Имеется в виду нет ли у кого куска кода, который это делает (Делфи, Билдер - неважно).
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

На сайте Гислера есть отдельная .exe версия листера - не то, что тебе нужно?

А вызвать программно cm_List тоже можно. Вот пример функции, посылающей другое сообщение:

Код: Выделить всё

const
  EM_DISPLAYBAND = WM_USER+51;
var
  h: THandle;
begin
  h:= FindWindow('TTOTAL_CMD', nil);
  PostMessage(h, EM_DISPLAYBAND, 506{cm_XXXX}, 0);
end.
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

Тут проблема - как передать имя файла
Но все равно спасибо. Может как-то и можна докопаться до истины.
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

Тут проблема - как передать имя файла
Имя файла попробуй передать вторым параметром сообщения
(последним параметром PostMessage):
PostMessage(h, EM_DISPLAYBAND, cm_List, Integer(PChar(fname)) );
Ответить