Расширение для Windows Explorer, которое добавляет оверлей на 64-битные exe и dll:
Написано на C++ & WinAPI (COM, ATL), собирается в Microsoft Visual Studio 2015.
-
Распаковать релиз туда, где он будет храниться (т.е. стабильно лежать в этом месте, путь к этим файлам не будет меняться и будет доступен при старте системы).
-
Зарегистрировать расширение:
-
На 32-битной системе запустить от имени администратора Overlay64.x86.Register.bat, затем следовать инструкциям. Получить успешную регистрацию библиотеки (SUCCESS).
-
На 64-битной системе запустить от имени администратора Overlay64.x64.Register.bat, затем следовать инструкциям. Получить успешную регистрацию библиотеки (SUCCESS).
Также на 64-битной системе можно зарегистрировать и 32-битный обработчик (запустив от имени администратора Overlay64.x86.Register.bat аналогично), это может быть нужно, например, для того, чтобы внутри 32-битных приложений в диалогах открытия/сохранения файла этот функционал тоже работал.
-
-
Перезагрузиться или грохнуть/перезапустить explorer.exe.
-
Проверить: например, у рядом лежащего файла Overlay64.x64.dll должен появиться оверлей «64».
-
Теперь все 64-битные приложения и библиотеки будут помечаться таким оверлеем.
Увы, если вы на 32-битной системе, поюзать вы такие библиотеки/приложения не сможете, и зачем у вас в системе в таком случае 64-битные файлы — большой вопрос, ну, может, как раз для этого и оверлей :)
- Запустить от имени администратора Overlay64.x64.Unregister.bat (или Overlay64.x86.Unregister.bat, или оба вместе, в зависимости от того, что регистрировалось и нужно удалить).
- Если удалить нужно только что-то одно, то второе всё равно придётся перерегистрировать, запустив регистрацию для него повторно.
- Перезагрузиться или грохнуть/перезапустить explorer.exe (а также все другие приложения, в которые dll-ки могли подгрузиться через проводник).
- Убедиться, что оверлеи пропали.
- Регистратор зафейлился, например, запускался не из-под админа.
- Было зарегистрировано не то расширение. Например, на 32-битной системе бесполезно регистрировать 64-битное, а если зарегистрировать на 64-битной системе только 32-битное, то в обычном проводнике (он, как и система, 64-битный) работать не будет.
- Был вызван какой-то из Unregister батников — нужно перерегистрировать по-новой.
- Возможно, в вашей системе уже зарегистрировано слишком много оверлеев. Можно пойти в реестр и посмотреть их список тут:
Если переименованиями добиться того, чтобы раздел с «пробелыOverlay64» был достаточно высоко в этом упорядоченном по алфавиту списке, то может заработать.
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
- Уверены ли вы, что файл, на котором вы проверяете, является нативным 64-битным приложением? Проще всего проверять на самих же dll из Overlay64, там одна 32-битная, другая 64-битная.