[WLX] AppLoader

Обсуждение только плагинов и утилит для Total Commander.

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

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

Сообщение Maximus »

Обе вещи взаимосвязаны. Нужно отслеживать события, которые происходят с запущенными приложениями (закрытие, нажатие клавиши). Пробовал хуками - у меня не получилось.

1. Есть несколько вариантом возможного поведения:
1.1. Можно сделать копию файла перед тем, как Листер ее удалит. Но нужно уметь отслеживать момент закрытия приложения, чтобы потом этот файл удалить. Но в таком случае (допустим приложение - Ворд и пользователь изменил файл), кто будет предлагать переупаковать измененный файл?
1.2. Можно заблокировать файл, чтобы Листер его не удалил. Наверное это возможно, но тут опять надо исследовать, как будет себя вести Листер и стоит ли шкурка вычинки.
1.3. Можно просто прятать Листер и закрывать его после закрытия запущенного приложения. Это решит некоторые проблемы предыдущих двух вариантов.
В любом случае нужно следить за закрытием приложений. Я еще пока не знаю как это сделать.
2. Тут нужно следить за нажатиями клавишь. Хуками не получается. Другие варианты пока в голову не приходят.
Worros
Сообщения: 1123
Зарегистрирован: Пт янв 19, 2007 18:46

Сообщение Worros »

Maximus писал(а):1.3. Можно просто прятать Листер и закрывать его после закрытия запущенного приложения. Это решит некоторые проблемы предыдущих двух вариантов.
В любом случае нужно следить за закрытием приложений. Я еще пока не знаю как это сделать.
По-моему, то, что надо. http://www.codeproject.com/KB/threads/C ... essEx.aspx
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

Детально пока не посмотрел, но надо попробовать.
Сейчас я пользуюсь функцией CreateProcess. Из нее мне не удалось выудить ничего, чтобы следить за запущенным процессом.
Может с этой функцией получится.
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

Maximus писал(а):Сейчас я пользуюсь функцией CreateProcess.
Последний папаметр этой функции - структура PROCESS_INFORMATION. В ней есть переменная hProcess - это хэндл запущенного процесса. Его можно использовать с любой функцией ожидания (например, WaitForSingleObject).
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

VadiMGP писал(а):Последний папаметр этой функции - структура PROCESS_INFORMATION. В ней есть переменная hProcess - это хэндл запущенного процесса. Его можно использовать с любой функцией ожидания (например, WaitForSingleObject).
По этому поводу вопрос уже решен.
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

AppLoader 0.9 beta
Скачать/48.7 Кб/

Список изменений:
+ возможность загрузки файла приложением непосредственно из архива (Lister держится "в фоне"): ключ [Options], ListerState
* ключ [Options], CloseLister заменен ключом [Options], ListerState
* ключ [Options], WorkWithSelFiles более не используется; вместо него анализируется ключ файла настроек Total Commander [Configuration], Viewertype
+ удержание клавиши Shift при вызове Lister`а влияет на обработку значения ключа файла настроек Total Commander [Configuration], Viewertype заменяя действие "Файл под курсором - внутренней программой" на "Выделенные файлы - внутренней программой", или наоборот

Автор не я :)
Аватара пользователя
DeathStalker
Сообщения: 331
Зарегистрирован: Пт сен 01, 2006 10:53
Откуда: Санкт-Петербург

Сообщение DeathStalker »

Нашел такой баг, если в имени файла программы более одной точки то выдается сообщение об ошибке, что файл не найден
Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

Автору последней версии сообщил, но он пока не ответил.
У самого ни времени, ни желания ковыряться сейчас нету.
exirous
Сообщения: 2
Зарегистрирован: Сб авг 02, 2008 20:03

Сообщение exirous »

Вопрос.
В Плагинах очень плохо разбераюсь, но почитав форум насчёт AppLoader я настроил его правильно, но он всё равно не пашет.. или я просто не понимаю как им пользоватся?
Я почему-то понял, что это замена Viewer и Editor , которые по умолчанию вызываются по нажатии соответственно F3 и F4..
Изменил только ModalOnly, ScrolLockControl и добавил пару строк в Editor

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

[Options]
ScrollLockControl=0
ModalOnly=0
FindFiles=1
SyncDirs=1
TCWindow=1
QuickView=0
Lister4=0
OverWrite=0
WorkWithSelFiles=1
IfIsExtOnly=0
CloseLister=1
NextPlugin=1
ParamsMode=1
ParamsByExtMode=0
UseTCExtensions=0
CopySearchTextToClip=1
DefaultEditor=notepad
[Editor]
inf=notepad
bmp=mspaint
php=C:\Program Files\Notepad++\notepad++.exe
css,js,html=C:\Program Files\Rapid PHP 2006\rapidphp.exe
[HotKeys]
AppFromLister_key=123
AppFromLister_mod=C
DefSysAppFromLister_key=120
DefSysAppFromLister_mod=C
[TCPos]
IsSearchTextLeft=5
IsSearchTextTop=115
SearchTextLeft=85
SearchTextTop=113
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

Что именно не пашет? Что ты делаешь и что хочешь получить в результате?
exirous
Сообщения: 2
Зарегистрирован: Сб авг 02, 2008 20:03

Сообщение exirous »

Попробовал ещё парочку Плагинов.. просто не один не пашет.. версия 7.02a 32-bit (14.09.2007)...
Аватара пользователя
DeathStalker
Сообщения: 331
Зарегистрирован: Пт сен 01, 2006 10:53
Откуда: Санкт-Петербург

Сообщение DeathStalker »

еще такой баг - нельзя переименовать файл
1. запускаю Lister, который подгружает для просмотра любой плагин, например SynPlus, при этом плагин Apploader загружается тоже (он на первом месте в списке wlx плагинов).
2. не закрывая Lister'а пытаюсь переименовать любой файл, появляется сообщение "Прервано пользователем".

ЗЫ: 1. в пункте первом если Листером воспользоваться просмотром с отключенными плагинами, то ошибки не происходит.
2. Если отключить Aploader, то ошибки не происходит.
3. Ошибка кажется происходит из-за того что нажатие на Enter интерпретируется как двойное и операция по переименованию отменяется.
Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
Аватара пользователя
Maximus
Сообщения: 927
Зарегистрирован: Чт апр 07, 2005 10:51
Откуда: Украина, Кировоградская обл., г. Знаменка
Контактная информация:

Сообщение Maximus »

Не удалось у себя такого воспроизвести. Переименовать открытый файл получается без проблем.
DeathStalker писал(а):2. не закрывая Lister'а пытаюсь переименовать любой файл, появляется сообщение "Прервано пользователем".
DeathStalker писал(а):3. Ошибка кажется происходит из-за того что нажатие на Enter интерпретируется как двойное и операция по переименованию отменяется.
Очень на то похоже. Попробуй Enter на цифровой клавиатуре. Посмотри, может какие-то программы типа всяких Switcher-ов мешают тебе нормально работать.
DeathStalker писал(а):ЗЫ: 1. в пункте первом если Листером воспользоваться просмотром с отключенными плагинами, то ошибки не происходит.
2. Если отключить Aploader, то ошибки не происходит.
Странно. Не могут влиять плагины на нажатие Enter в файловой панели.
Аватара пользователя
DeathStalker
Сообщения: 331
Зарегистрирован: Пт сен 01, 2006 10:53
Откуда: Санкт-Петербург

Сообщение DeathStalker »

Действительно такой эффект проходит если выгрузить пунто свичер, повидимому он как-то в связке с данным плагином вызывает двойное нажатие на enter.
Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
Аватара пользователя
DeathStalker
Сообщения: 331
Зарегистрирован: Пт сен 01, 2006 10:53
Откуда: Санкт-Петербург

Сообщение DeathStalker »

Скачал последнюю версию пунто свичера, ошибка больше не повторяется.
Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
Ответить