===================================================================== AJPapps - Disable Dropbox shell ext 1.00 Линда Кайе 2012-2015. Посвящается Ариэль ===================================================================== Эта программа призвана бороться с тормозами Проводника, блокируя расширение Проводника, которое устанавливает Dropbox. Рассчитана на периодический запуск через системный планировщик. История создания ---------------- Думаю, что каждый, кто пользуется дропбоксом, замечал, что Проводник часто тормозит, если открыта одна из папок в дропбоксе. Чаще всего это бывает, когда какие-то файлы прилетают на компьютер или улетают на сервер (ненавижу фразу "В облако"). Даже если файл ещё только качается, и все иконки - зелёные, Проводник может повиснуть и не отмирать пока синхронизация не закончится. Меня вот это очень доставало, и для борьбы с этим явлением я заюзала расширение ShellExt View. Подробнее о том, как это было, можно почитать тут: http://lindachan.diary.ru/p204641887.htm Но Дропбокс имеет обыкновение восстанавливать расширение даже не во время обновления. А так как ручками каждый раз делать одно и тоже лично мне лень, я и написала такую утилиту, которая по сути эмулирует работу ShellExt View. История изменений ----------------- • 1.00.0008 Первый публичный релиз. • 1.00.0009 [-] Неправильно выводились в лог используемые параметры. Зависимости ----------- Для работы этой программы нужны следующие компоненты: • AJPapps - AJPapps support library 1.00 Файл AJPappsSupport0100.DLL • AJPapps - Библиотека общих функций 3.01 Файл CommonFunctions0301.DLL • Microsoft Visual Basic Virtual Machine Файл MSVBVM60.DLL Эти компоненты обязательны. Они уже включены в программу установки ^_^ Информация о разработке ----------------------- Язык: Microsoft Visual Basic 6.0 SP6 Платформа: Windows XP Professional SP3 Установка --------- Просто запустите Setup.DisableDropboxShellExt.EXE, и программа установки сама создаст все необходимые ярлыки. Немного теории -------------- Расширение Проводника, которое устанавливает Dropbox, делает две вещи: • Добавляет пункты в контекстное меню файла. Например, для получения публичной ссылки или просмотра предыдущих версий файла. • Добавляет индикатор статуса к иконке файла. Например, если файл синхронизируется, в правом нижнем углу иконки будет синий кружочек со стрелками, а если файл успешно синхронизирован, то там будет зелёный кружочек с галочкой. Само расширение представлено одним DLL файлом, для которого в системном реестре создано несколько записей: одна для меню и по одной для каждой иконки состояния. Каждая из таких записей имеет собственное имя. Например: • ContextMenuHandler Class - запись для контекстного меню. • DropboxExt1 Class - запись для одной из иконок. Таким образом, если заблокирована запись с именем, как в первом пункте, то в контекстном меню файла пропадают пункты Dropbox. Если же заблокированы записи с именами как во втором пункте, то иконки файлов не дополняются индикаторами состояния. Тормоза Проводника вызывают, преимущественно, иконки, поэтому рекомендуется заблокировать именно их, а контекстное меню можно оставить в покое. Использование ------------- Программа управляется через командную строку и не выдаёт почти никаких сообщений. Чтобы посмотреть параметры командной строки, достаточно запустить программу вот так: DisableDropboxShellExt.EXE /? Если же программу запустить без параметров, то она проверит состояние расширения Dropbox и выдаст окно с сообщением. Например, вот такое: Состояние расширения. • ContextMenuHandler Class :: Работает • DropboxExt1 Class :: Заблокировано • DropboxExt2 Class :: Заблокировано • DropboxExt3 Class :: Заблокировано • DropboxExt4 Class :: Заблокировано • DropboxExt5 Class :: Заблокировано • DropboxExt6 Class :: Заблокировано • DropboxExt7 Class :: Заблокировано • DropboxExt8 Class :: Заблокировано Программа умеет блокировать отдельно пункты контекстного меню файла и отдельно - иконки состояния. Делается это двумя параметрами: /ContextMenu и /IconOverlay. Для блокирования пунктов контекстного меню используется команда: DisableDropboxShellExt.EXE /ContextMenu Для блокирования иконок состояния используется команда: DisableDropboxShellExt.EXE /IconOverlay Для блокирования пунктов контекстного меню и иконок состояния используется команда: DisableDropboxShellExt.EXE /ContextMenu /IconOverlay Программа умеет также разблокировать расширение, тоесть производит обратное действие. Это делается теми же параметрам с добавлением параметра /Enable. Для разблокирования пунктов контекстного меню используется команда: DisableDropboxShellExt.EXE /ContextMenu /Enable Для разблокирования иконок состояния используется команда: DisableDropboxShellExt.EXE /IconOverlay /Enable Для разблокирования пунктов контекстного меню и иконок состояния используется команда: DisableDropboxShellExt.EXE /ContextMenu /IconOverlay /Enable Перезапуск проводника --------------------- После блокирования расширения, особенно иконок состояния, расширение может продолжить работу и оставаться активным. Чтобы это исправить, можно перезагрузить компьютер или перезапустить Проводник. Для перезапуска Проводника достаточно завершить все процессы с именем Explorer.EXE в Диспетчере задач, а потом - запустить такой через команду Выполнить всё того же Диспетчера задач. Журнал сообщений ---------------- Программа не выдаёт никаких сообщений при блокировке расширения. Это сделано для того, чтобы её можно было запускать автоматически (через системный планировщик заданий). Однако сообщения всёже хранятся в файлах журнала (по одному на кадый день), которые можно отыскать в каталоге данных пользователя. В Windows XP это может быть каталог вроде такого: C:\Documents and Settings\User\Application Data\ HalfMoon Studios\Disable Dropbox Shell Extension В Windows 7 - вроде такого: C:\Users\User\AppData\Roaming\HalfMoon Studios\ Disable Dropbox Shell Extension Эти файлы можно использовать чтобы понять, что пошло не так ^^ Удаление -------- Удаление производится обычным способом - через Установку и удаление программ. Маленький копирайт ------------------ 1. Программа распространяется бесплатно. 2. Вы имеете право распространять её на тех же условиях. 3. При распространении вы не имеете права менять авторство программы, присваивать его себе или каким-либо иным способом искажать его. 4. Разрешено коммерческое использование программы (в офисе, на производстве) за исключением её платного распространения или сдачи в аренду. 5. Программа распространяется как есть. Автор не несёт ответственности за любые трагедии или несчастные случаи, вызванные использованием программы. 6. Вы имеете право использовать ActiveX компоненты, поставляемые с программой, в собственных программах. При этом автор не гарантирует совместимость будущих версий компонентов. 7. Для любого пункта данного соглашения может быть сделано исключение с разрешения автора программы. 8. По любым вопросам, связанным с данной программой, обращайтесь по адресу lindaoneesama@gmail.com Загружено с http://purl.oclc.org/Linda_Kaioh/Homepage/