[Quote]

    Guest
  • REPUTATION:0

    [+] [-]
С HotPlug (оно же "безопасное извлечение USB-устройств") под WinPE на базе 7/8/... бывают проблемы. Связаны они с тем, что для полноценной интеграции HotPlug необходимо приложить довольно много усилий (прописка в реестре, добавление библиотек). И поэтому в большинстве конструкторов (и, как результат - готовых сборок) "безопасное извлечение" не работает. Но, в силу организации библиотек для Windows пустой значок извлечения остается в трее. За его прорисовку отвечает библиотека stobject.dll. Если её удалить из ядра, то значка не будет... как и не будет значков сети/звука, что не есть хорошо. Поэтому предлагаю для решения этой проблемы пойти другим путем - путем использования альтернативных "извлекалок". В этом комплекте есть пропатченные версии библиотеки stobject.dll для РЕ на базе 7/8.0/8.1/10/х86/х64. Библиотеки находятся в папке _System32 с подкаталогами для соответствующей РЕ (выбираем нужную, заменяем в Windows\System32), при их использовании из трея убирается "пустышка" HotPlug, при этом значки сети/звука не затрагиваются. Также в комплект входят альтернативные "извлекалки":
1. EjectUSB - довольно симпатичный вариант от китайцев. Есть х86 и х64 версии. Позволяет извлекать как одно, так и сразу все USB-устройства. Интерфейс английский.
2. USBEjecter - еще одна утилита от китайских товарищей. С одной стороны, немного проигрывает EjectUSB по интерфейсу. Но у неё есть и сильная сторона - утиль позволяет извлекать устройства как обычно (ЛКМ), так и принудительно (ПКМ). Есть вариант с русским переводом (автор перевода Сергей Стрелец). Версия утилиты - только х86, но и под х64 работает без проблем (если в РЕ имеется поддержка х86-подсистемы). Эта утилита используется у меня в сборках 2k10, изначально подправлена мною (заменил родной невыразительный значок, подправил английский перевод).
3. USB_Disk_Eject - тоже вариант (х86)... хотя размер и потребление памяти не вдохновляют. Есть русифицированная версия утилиты (автор перевода Сергей Стрелец).
4. HotSwap - очень нафаршированная утилита (х86, х64) по извлечению вся и всё (харды, флешки, приводы CD/DVD). Но под некоторыми WinPE некорректно определяет устройства, в результате получается чемодан без ручки.
* Хочу также упомянуть о вполне "взрослых" комплексах (в комплект не входят) - программах вроде USB Safely Remove или её кровном брате - Zentimo. Их использования позволяет обойтись без патчинга stobject.dll (они сами умеют скрывать значок "безопасное извлечение USB-устройств"). Возможности у них тоже обширные. Но - за все нужно платить: размер необходимых файлов для последних версий измеряется в несколько мегабайт в упакованном виде. Как компромисс можно использовать не такие новые версии - у них размер поменьше (ну и функционал поскромнее).
В общем и целом, решение остается за сборщиком. Лично я выбираю между 1 и 2.Скачать: комплект "извлекалок" HotPlug_v2.7z.
Attachments

Скачать комплект с usbtor.ru



Last edited by Guest on 2016-03-21 23:10; edited 11 times in total

[Quote]

    Guest
  • Longevity: 54 years
  • REPUTATION:

    [+] [-]
Есть еще очень маленькая утилита, интегрируем ее в контекстное меню дисков и вуаля, появляются два дополнительных пункта. Безопасное и принудительное извлечение!!!

Спасибо за реализацию: KopBuH91


Last edited by on 2015-01-09 16:44; edited 2 times in total

[Quote]

    Guest
  • REPUTATION:0

    [+] [-]
Joker-2013, вариантов может быть много. Организовать извлечение в контестном меню можно и без утилит: запусти RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll
Если WinPE использует в качестве оболочки PeCMD, то вполне можно сделать и свою "утилиту". PeCMD позволяет создавать значки в трее со своим меню и выполнять нужные действия (в частности, извлекать устройство). Также PeCMD позволяет сортировать устройства по типу (USB/HDD/DVD) - т.е., можно отображать только нужное.

[Quote]

    Guest
  • Longevity: 54 years
  • REPUTATION:

    [+] [-]
Я так понимаю, что не будет иконки, а пустое место? (вместо нее)

[Quote]

    Guest
  • REPUTATION:0

    [+] [-]
Joker-2013, если не заменять - то будет иконка с неработающими пунктами. Если заменить предложенными, то не будет ни иконки, ни пустышки (это полноценный патч).

[Quote]

    avlid
  • 1177
  • Longevity: 9 years 3 months
  • Posts: 1
  • REPUTATION:0

    [+] [-]
Большая просьба.. Поправить stobject.dll для Win 8.1 X 86. Пропадает значек батарейки.

[Quote]

    gera_serg
  • 1171
  • Longevity: 9 years 3 months
  • Posts: 1421
  • REPUTATION:9

    [+] [-]
Что-то с подменой бледной невнятной иконки в Трее на привычную засада какая-то (у меня) ...
Может кто лучше умеет (USB_Disk_Eject)?

[Quote]

    gera_serg
  • 1171
  • Longevity: 9 years 3 months
  • Posts: 1421
  • REPUTATION:9

    [+] [-]
korsak7,
Вот надо же было додуматься в 2k10 в трее выставить "Eject all device"
Выбираешь и мышка гаснет и помирает... Билл не смог, а наши вот придумали разлечение.
Удивительно, но клавиатура держится (во всяком случае у меня)

[Quote]

    Guest
  • REPUTATION:0

    [+] [-]
gera_serg, в 2k10 флешку "держит":
1. Любая запущенная программа из программного пакета (поскольку SFX-модуль ожидает завершения работы, чтобы очистить папку %Темр% от программы). Решение: закрыть все запущенные программы.
2. Смонтированный wim-архив (поскольку он работает прямо из флешки). Решение: отмонтировать акронисы. Но это уже сложнее (под разными РЕ по-разному монтируются/демонтируются). Либо вообще их не монтировать (не использовать).
3. Смонтированный как диск Y:\ программный пакет. Но вроде он не "держит" флешку (т.е., команда subst не блокирует доступ).
Решение в сборке есть - использовать перенос программного пакета (п/п) на РАМ-диск или обычный хард, ярлык в Пуск/Программы/Programs to RAM). Для переноса п/п на хард (если памяти РАМ-диска недостаточно для хранения п/п) нужно предварительно назначить любой раздел харда ТЕМР-овым (Ctrl+Shift+S или "WinPE settings" на раб.столе). Тогда п/п будет перенесен на этот раздел. После переноса все программы будут использоваться из РАМ-диска (или харда), а флешка будет освобождена от обращений.

[Quote]

    Guest
  • REPUTATION:0

    [+] [-]
Обновил набор в шапке (2-я версия). Изменения: теперь все комплекты (патченные версии stobject.dll) отображают зарядку аккумулятора - т.е., скрывается исключительно значок "безопасного извлечения"; добавлены библиотеки для 10-к; добавил пропатченный вариант EjectUSB (в нем "Eject all USB storage devices" заменен на нейтральный "Safely remove", по нажатию на котором никаких действий не производится, только сворачивается панель утилиты).

[Quote]

    SharkyEXE
  • 16220
  • Longevity: 7 years 5 months
  • Posts: 51
  • REPUTATION:1

    [+] [-]
Всем здравствуйте
Пожалуйста, если кто знает, напишите, а что за утилита, где скачать exe файл или как называется и твик для интеграции
тынц
Есть еще очень маленькая утилита, интегрируем ее в контекстное меню дисков и вуаля, появляются два дополнительных пункта. Безопасное и принудительное извлечение!!!
Спасибо.

[Quote]

    goga8686
  • 15240
  • Longevity: 7 years 9 months
  • Posts: 889
  • REPUTATION:73

    [+] [-]
SharkyEXE, aa нужно скопировать RemoveDrive.exe - в System32 и SysWOW64 создать рег файл или скачать готовый и применить его

Reg-файл

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Drive\shell\removeforce]
"MUIVerb"=hex(2):18,04,37,04,32,04,3b,04,35,04,47,04,4c,04,20,00,3d,04,30,04,\
  3a,04,3e,04,3f,04,38,04,42,04,35,04,3b,04,4c,04,20,00,28,00,3f,04,40,04,38,\
  04,3d,04,43,04,34,04,38,04,42,04,35,04,3b,04,4c,04,3d,04,3e,04,29,00,00,00
"Icon"=hex(2):73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,\
  00,2c,00,37,00,37,00,00,00
@="Извлечь накопитель (принудительно)"
"Description"="Принудительно отключить накопитель"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Drive\shell\removeforce\command]
@=hex(2):63,00,6d,00,64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,71,00,20,00,2f,\
  00,63,00,20,00,46,00,4f,00,52,00,20,00,2f,00,46,00,20,00,22,00,75,00,73,00,\
  65,00,62,00,61,00,63,00,6b,00,71,00,22,00,20,00,25,00,25,00,69,00,20,00,49,\
  00,4e,00,20,00,28,00,27,00,25,00,56,00,27,00,29,00,20,00,44,00,4f,00,20,00,\
  45,00,43,00,48,00,4f,00,20,00,1f,04,3e,04,34,04,33,04,3e,04,42,04,3e,04,32,\
  04,3a,04,30,04,20,00,25,00,25,00,7e,00,64,00,69,00,20,00,3a,04,20,00,3f,04,\
  40,04,38,04,3d,04,43,04,34,04,38,04,42,04,35,04,3b,04,4c,04,3d,04,3e,04,3c,\
  04,43,04,20,00,38,04,37,04,32,04,3b,04,35,04,47,04,35,04,3d,04,38,04,4e,04,\
  2e,00,2e,00,2e,00,36,04,34,04,38,04,42,04,35,04,2e,00,2e,00,2e,00,20,00,26,\
  00,20,00,54,00,49,00,54,00,4c,00,45,00,20,00,1f,04,40,04,38,04,3d,04,43,04,\
  34,04,38,04,42,04,35,04,3b,04,4c,04,3d,04,3e,04,35,04,20,00,38,04,37,04,32,\
  04,3b,04,35,04,47,04,35,04,3d,04,38,04,35,04,20,00,34,04,38,04,41,04,3a,04,\
  30,04,20,00,25,00,25,00,7e,00,64,00,69,00,20,00,26,00,20,00,52,00,65,00,6d,\
  00,6f,00,76,00,65,00,44,00,72,00,69,00,76,00,65,00,2e,00,65,00,78,00,65,00,\
  20,00,25,00,25,00,7e,00,64,00,69,00,20,00,2d,00,65,00,20,00,26,00,26,00,20,\
  00,28,00,54,00,49,00,54,00,4c,00,45,00,20,00,18,04,37,04,32,04,3b,04,35,04,\
  47,04,35,04,3d,04,38,04,35,04,20,00,3d,04,30,04,3a,04,3e,04,3f,04,38,04,42,\
  04,35,04,3b,04,4f,04,20,00,43,04,41,04,3f,04,35,04,48,04,3d,04,3e,04,20,00,\
  37,04,30,04,32,04,35,04,40,04,48,04,35,04,3d,04,3e,04,29,00,20,00,26,00,20,\
  00,50,00,41,00,55,00,53,00,45,00,00,00
[HKEY_CLASSES_ROOT\Drive\shell\removesafe]
"MUIVerb"=hex(2):18,04,37,04,32,04,3b,04,35,04,47,04,4c,04,20,00,3d,04,30,04,\
  3a,04,3e,04,3f,04,38,04,42,04,35,04,3b,04,4c,04,20,00,28,00,31,04,35,04,37,\
  04,3e,04,3f,04,30,04,41,04,3d,04,3e,04,29,00,00,00
"Icon"=hex(2):73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,\
  00,2c,00,32,00,36,00,00,00
@="Извлечь накопитель (безопасно)"
"Description"="Безопасно отключить накопитель"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Drive\shell\removesafe\command]
@=hex(2):63,00,6d,00,64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,71,00,20,00,2f,\
  00,63,00,20,00,46,00,4f,00,52,00,20,00,2f,00,46,00,20,00,22,00,75,00,73,00,\
  65,00,62,00,61,00,63,00,6b,00,71,00,22,00,20,00,25,00,25,00,69,00,20,00,49,\
  00,4e,00,20,00,28,00,27,00,25,00,56,00,27,00,29,00,20,00,44,00,4f,00,20,00,\
  45,00,43,00,48,00,4f,00,20,00,1f,04,3e,04,34,04,33,04,3e,04,42,04,3e,04,32,\
  04,3a,04,30,04,20,00,25,00,25,00,7e,00,64,00,69,00,20,00,3a,04,20,00,31,04,\
  35,04,37,04,3e,04,3f,04,30,04,41,04,3d,04,3e,04,3c,04,43,04,20,00,38,04,37,\
  04,32,04,3b,04,35,04,47,04,35,04,3d,04,38,04,4e,04,2e,00,2e,00,2e,00,36,04,\
  34,04,38,04,42,04,35,04,2e,00,2e,00,2e,00,20,00,26,00,20,00,54,00,49,00,54,\
  00,4c,00,45,00,20,00,11,04,35,04,37,04,3e,04,3f,04,30,04,41,04,3d,04,3e,04,\
  35,04,20,00,38,04,37,04,32,04,3b,04,35,04,47,04,35,04,3d,04,38,04,35,04,20,\
  00,34,04,38,04,41,04,3a,04,30,04,20,00,25,00,25,00,7e,00,64,00,69,00,20,00,\
  26,00,20,00,52,00,65,00,6d,00,6f,00,76,00,65,00,44,00,72,00,69,00,76,00,65,\
  00,2e,00,65,00,78,00,65,00,20,00,25,00,25,00,7e,00,64,00,69,00,20,00,26,00,\
  26,00,20,00,28,00,54,00,49,00,54,00,4c,00,45,00,20,00,18,04,37,04,32,04,3b,\
  04,35,04,47,04,35,04,3d,04,38,04,35,04,20,00,3d,04,30,04,3a,04,3e,04,3f,04,\
  38,04,42,04,35,04,3b,04,4f,04,20,00,43,04,41,04,3f,04,35,04,48,04,3d,04,3e,\
  04,20,00,37,04,30,04,32,04,35,04,40,04,48,04,35,04,3d,04,3e,04,29,00,20,00,\
  26,00,20,00,50,00,41,00,55,00,53,00,45,00,00,00

[Quote]

    SharkyEXE
  • 16220
  • Longevity: 7 years 5 months
  • Posts: 51
  • REPUTATION:1

    [+] [-]
goga8686, Здравствуйте
Огромное Вам спасибо за помощь! Все работает как часы!


Display posts:    

Current time is: 02-Nov 07:18

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum