WM Explorer — управление файлами на КПК через ActiveSync

Здесь можно обсудить ваш любимый плагин.
Volodya
Posts: 268
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 30 times

Post by Volodya »

Latest post of the previous page:

Забыл .lng файлы положить
Помогло :)
зависания по F3 - это ошибка в Фаре
Не помогло :(
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

Post by chupakabra »

Новая тестовая версия WM Explorer Unicode: скачать.
Более новая версия Unicode Far, в которой исправлена проблема с зависанием по F3: скачать.
Volodya
Posts: 268
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 30 times

Post by Volodya »

Работает. Спасибо.
User avatar
xyz
Posts: 156
Joined: Sun 20 Mar, 2005 13:26
Has thanked: 1 time
Contact:

Post by xyz »

Нашёл баг:
Если на теле более одного стороджа, то по Ctrl-L выводится тинформация олько одному, да ещё и не по тому, по которому надо.

не знаю, возможно ли это через активсинк, но хотелось бы в нижней строке видеть свободное место. Total (версия для покета) коректно показывает место и размер каталога с учётом того, где он находится.
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

Post by chupakabra »

xyz
Проверь прикрепленную версию.

Свободное место в нижней строке показать нельзя, это ограничение Plugin API
User avatar
xyz
Posts: 156
Joined: Sun 20 Mar, 2005 13:26
Has thanked: 1 time
Contact:

Post by xyz »

chupakabra wrote:xyz
Проверь прикрепленную версию.
Работает, спасибо
Свободное место в нижней строке показать нельзя, это ограничение Plugin API
Жаль.

про преобразование файлов:
сижу, опять преобразовываю проводником. вот скриншот стека вызовов нити, при конвертации файлов, может это поможет понять, куда копать...
Attachments
скриншот стека вызовов нити, при конвертации файлов
скриншот стека вызовов нити, при конвертации файлов
Буфер обмена-1.gif (39.88 KiB) Viewed 8362 times
darkmist
Posts: 124
Joined: Wed 08 Aug, 2007 19:44

Post by darkmist »

Про конверсию файлов:
читаем здесь: http://msdn2.microsoft.com/en-us/library/ms861749.aspx, а также http://msdn2.microsoft.com/en-us/library/ms861605.aspx. Кратко - каждый модуль конверсии регистрируется под ключом HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\Filters
.file extension\InstalledFilters и имплементит ICeFileFilter.

Про плагин - плаг суперский.
Хотелось бы, конечно, если позволяет реализация, добавить другие функции, предоставляемые RAPI, конкретно - функции работы с device registry.
darkmist
Posts: 124
Joined: Wed 08 Aug, 2007 19:44

Post by darkmist »

В догонку:
для того, чтобы в explorer'е открыть папку Mobile device, надо выполнить команду
explorer.exe /root,,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{49BF5420-FA7F-11cf-8011-00A0C90A8F78}
Для того, чтобы попасть дальше по папкам, нужно добавить имя папки, вроде
explorer.exe /root,,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{49BF5420-FA7F-11cf-8011-00A0C90A8F78}\Business.

Наверное, можно настроить макром, только я не знаю как можно определить, что активная панель - именно wm explorer. А можно добавить в плагин 8-)
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

Post by chupakabra »

xyz, darkmist, спасибо за информацию, посмотрю на досуге.
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

Post by chupakabra »

Добавил запуск Проводника по Shift+Enter способом, который описал darkmist. Посмотрите если работает как надо.
darkmist
Posts: 124
Joined: Wed 08 Aug, 2007 19:44

Post by darkmist »

У меня работает отлично, спасибо!
Даже на тру уникодных папках 8-)
Только при Shift+Enter на файлах мы переходим в папку файла, как видимо и задумывалось. Возможно, имело бы смысл в случае файла воспользоваться ключом explorer.exe /select - в этом случае файл, на котором нажали Shift+Enter, выделялся.

Попутно вопрос - мы находимся в панели плагина, отсоединяем кпк, нажимаем Ctrl+R - получаем

Code: Select all

г================================================== WM Explorer ==================================================┐
│                                                        \                                                        │
│ COM error: 0x80072736 (facility = WIN32): An operation was attempted on something that is not a socket. (10038) │
│                                           rapi_proc.cpp:366 r.237 x86                                           │
│                                                       Ok                                                        │
L=================================================================================================================-
Вероятно, это так и задумывалось?
В принципе, можно ловить события отключения ActiveSync, но для этого надо либо трекить состояние usb порта с девайсом, либо написать fake модуль синхронизации (ему приходит событие об присоединении/отсоединении девайса). Возможно, есть еще какие-либо способы, попробую поискать на досуге.
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

Post by chupakabra »

Возможно, имело бы смысл в случае файла воспользоваться ключом explorer.exe /select - в этом случае файл, на котором нажали Shift+Enter, выделялся.
У меня этот ключ выделяет только каталоги.
отсоединяем кпк, нажимаем Ctrl+R - получаем
Обычно в этом случае генерируется ошибка ERROR_NOT_READY и плагин выдает сообщение о том что устройство было отключено. У тебя почему-то выдает WSAENOTSOCK, возможно это влияние твоего фаервола.
Официальный способ следить за отключением устройства - использовать IRAPIDesktop::Advise()
User avatar
xyz
Posts: 156
Joined: Sun 20 Mar, 2005 13:26
Has thanked: 1 time
Contact:

Post by xyz »

Shift+Enter работает, спасибо.

Баг, воспроизводится не всегда: копирую файл в тело, выхожу в родительский каталог на ББ на уровень вверх, пытаюсь удалить каталог с файлом на ББ, ловлю ошибку: Каталог вроде удалился, но на панели остался. зайти в него конечно нельзя...
yarus23
Posts: 2
Joined: Fri 09 Nov, 2007 17:15

Post by yarus23 »

Классный плагин, спасибо!
Есть идея для улучшения. Так как разрабатываю для девайсов то часто приходится подключать/отключать КПК - и после подключения КПК wmexplorer пишет - устройство отключено и уходит в каталог жесткого диска. Хорошо бы чтобы без всяких соощений он просто переинициализировал соединение и ушел бы в уже открытый каталог на девайсе (если он есть) или в корень девайса если каталога нет.
User avatar
zg
zero-gravity
Posts: 6038
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Post by zg »

xyz wrote:ловлю ошибку: Каталог вроде удалился, но на панели остался. зайти в него конечно нельзя...
это ошибка? это часто на обычных файловых панелях случается.
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

Post by chupakabra »

yarus23
После переподключения устройства просто вызывай плагин по новой, тогда никаких сообщений не будет. Если делаешь это часто - запиши макрос. Автоматическое восстановление подключения я не буду делать.
А вот сохранение последнего каталога имеет смысл, скорее всего я это реализую.
Post Reply

Return to “Обсуждение плагинов”