Quote: |
* Плагин поддерживает два интерфейса плагинов - WFX и WDX.
Это означает что TotalConsole может быть подключен как файлсистемный плагин и как контентный. Для подключения как WDX - смените расширение плагина на wdx, те было TotalConsole.wfx, переименовали в TotalConsole.wdx и наоборот. Переходим в Конфигурация->Настройка колонок->Новая->Добавить колонку->TotalConsole->Console Если плагин подключен как Filesystem(wfx), то запускаться он должен вручную: переходим в сетевое окружение, заходим в TotalConsole - всё, плагин запущен. Можем переходить в другие папки, это не помешает работе плагина. Если необходима автозагрузка - то подключаем плагин как wdx, создаём набор колонок с TotalConsole. Теперь достаточно один раз загрузить набор колонок для запуска плагина. Если необходим автоматический запуск плагина - добавляем TotalConsole в каждый набор колонок. Вообще-то я бы рекомендовал скопировать плагин в ту же папку но с другим расширением. Это позволит установить оба типа плагина и использовать TotalConsole более функционально. |
Quote: |
1. Навеяно Konsole из KDE (Linux) |
Quote: |
Насчёт софтинки - это сделать можно, но ты каждый раз будешь указывать окно тотала в которое встраиваться? |
Quote: |
Насчёт колонок не понял!!! Колонок быть ВООБЩЕ не должно!!! Надо просто установить плагин И ВСЁ... Никаких колонок и их сохранения. Я wdx потому и выбрал что они всегда при запуске подгружаються. Я просто обрабатываю вход и выход в/из DLLProc. Может быть различия версий тотала и/или винды, напиши свои плиз. |
Quote: |
Кнопки в тулбаре с библиотекой не прокатят, пробовал... (может кто знает как? (RunDll не предлагать)) |
Quote: |
А вот рекомендации добавь, для себя-то я всегда плаг перекомпилю, а кому-то мож что-то понадобиться изменить... |
Quote: |
7. Попробую что-то сделать, но не обещаю, там бяка с отрисовкой виндой. |
Quote: |
8. Я тоже понимаю, но как улучшить не знаю . Если у кого есть идеи прошу... |
Quote: |
9. А куда ты девять потерял? |
Quote: |
10. В смысле перекрывает? (При запуске, или потом?) |
Quote: |
1. Опиши пожалуйста хоткеи для каких действий лучше сделать? |
Quote: |
При положении панелей одна над другой где лучше расположить консоль? Я никак не могу выбрать из 2х вариантов |
Quote: |
Я wdx потому и выбрал что они всегда при запуске подгружаються. |
Quote: |
При положении панелей одна над другой где лучше расположить консоль? |
Quote: |
В Тотале всё должно быть на T =) |
Quote: |
Элементарно. Вызывать GetForegroundWindow и проверять, тоталовское это окно или нет. Т.е. если прога запущена из под TC, то консоль должна встроиться в активное окно TC, иначе не делать ничего. |
Quote: |
TC 7.0rc5, проверял на XP Prof SP2. Могу ошибаться (ни кода ни справки под рукой нет), но вроде бы тотал никоим образом плагин грузить не должен, если в текущем наборе колонок нет полей этого плагина. У тебя в плагине вообще нет никаких полей, благодаря чему его вообще нельзя прописать. Когда в настройке колонок я жму на "+", TC поочерёдно обращается ко всем проинсталленым wdx, чтобы получить список полей, тут-то и происходит вызов DLLProc. Но после перезапуска TC плагин не вызывается (что подтверждено экспериментом ). |
Quote: |
(понимаю, так легче вторгаться в адресное пространство) |
Quote: |
По текущему функционалу рекомендаций нет. Разве что перехватывать ввод стандартной командной строки TC. |
Quote: |
Но про вытаскивание консоли за пределы окна TC подумай (GetWindowRect в помощь ). |
Quote: |
Зато можно подумать, как возвращать фокус TC когда консоль не нужна. Хоткеем или ещё как-то... |
Quote: |
Хоткеи желательно делать настраиваемые. |
Quote: |
2. ntvdm. Возможно, где-то у меня и отстается cmd.exe, но только потому, что гораздо больше сил отнял поиск и отстрел ntvdm-ов. Ты, видимо, про них позабыл. |
Quote: |
Поясни, пожалуйста, что ты имел в виду. Вообще-то в TC никакой плагин при запуске не подгружается. Поэтому я тоже для запуска твоего плагина каждый раз иду в настройки колонок. И вообще, проблема автоматической подгрузки плагинов - очень нужная вещь, на оффоруме обсуждалась. Но нормального, красивого решения так и не было найдено. |
Code: |
|
Quote: |
И еще вопрос - а как ты сделал Ctrl+C? Я много чего перепробовал - ничего не получалось. |
Quote: |
Недавно мне снова очень захотелось добавить в ТС две вещи - дополнительный тулбар в нижней части ТС и засунуть куда-нибудь индикатор копирования из фона. И я начал думать о том, чтобы все-таки сделать надстройку над ТС, которая бы позволила такое "мирное сосуществование" различных плагинов. Я пока еще не начал писать, только обдумываю эту мысль, но возможно тебе захочется сразу пойти таким путем - сделать некую универсальную оболочку и консоль, как частный случай плагина нового типа. |
Quote: |
Поэтому плагин. Точка. |
Quote: |
Сделан перехват ShellExecuteEx, принять параметры консоли не проблема, проблема в другом пример:
1.Консоль закрыта, выполняем из командной строки команду (dir к примеру) 2. Открываеться консоль выполняется команда. |
Quote: |
Вот с передачей в открытую и состоит проблема, WriteConsoleInput не работает для cmd. Есть идеи? |
Quote: |
Кстати товарисчь Гислер недоработал (видимо не любит он консоль) -
cmd у него всегда выполняется с параметром /C (закрыть после выполнения), Для правильной реализации Shift+Enter (не закрывать после выполнения ) надо всего лишь выполнять с параметром /K. |
Quote: |
Можешь предложить альтернативу? (Может subclassing? Теорию знаю, но практики с чужими окнами = NULL ) |
Quote: |
При положении панелей одна над другой консоль ведёт себя вообще непредсказуемо, и крэшит тотал. Я уже занялся этим вопросом. Так что лучше снизу или справа (слева)??? |
Quote: |
В TConsole, если не ошибаюсь, это как-то реализовано |
Quote: |
Это элементарно фиксится, инструкции есть в TCKB. |
Quote: |
Не отрисоввывать при каждом срабатывании хука. А только при окончании изменения размера |
Code: |
|
Quote: |
M_EXITSIZEMOVE -окончание изменения размера |
Quote: |
Хук сам по себе грузит процесс. |
Quote: |
Tonsole? |
Quote: |
...а потом операции через AttachConsole... |
Quote: |
У тебя Win2k? |
Quote: |
Второй причиной было то, что я не нашел способа перейти в консоль (или выйти из нее) без мыши? А у тебя с этим как? |
Quote: |
А как ты сделал перехват ShellExecuteEx |
Quote: |
WriteConsoleInput у меня тоже не работал. |
Quote: |
Нет, у меня XP. А какая разница? |
Quote: |
SetForegroundWindow рулит. |
Quote: |
Ты не понял, вопрос был в другом - как юзер без помощи мыши может перейти в окно консоли, а главное, как вернуться в файловую панель. Там были какие-то заморочки с клавиатурными хуками в консольных процессах, точно не помню - давно это было... |
Quote: |
А ntvdm с win2k не связан. Это процесс создаваемый для обслуживания 16-битного кода. Если в консоли будет попытка запустить 16-битную программу, то для нее будет создан отдельный процесс ntvdm и уже он запустит эту программу. При выходе надо бы их всех отлавливать и убивать. |
output generated using printer-friendly topic mod. All times are GMT + 4 Hours