eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июня!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: missortr, Mishar_Hacker (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› Возможно ли сменить GUID в shell extension без перекомпиляции?
Посл.ответ Сообщение

Ранг: 19.4 (новичок)
Статус: Участник

Создано: 25 октября 2013 19:56 New!
Цитата · Личное сообщение · #1

Решил приспособить расширение контекстного меню NppShell_05.dll от Notepad++ к Sublime Text 3. В hex редакторе переписал, то что нужно (notepad++ на sublime и т. п.) - расширение работает, но только с оригинальным GUID. Если меняю на другой (полученный в GuidGen.exe) - то не работает.
Возможно ли чего-то сделать, может ещё чего поменять надо в dll, или это занятие хернёй и лучше забить?

Вот плоды эксперимента, на всякий случай:

{ Атач доступен только для участников форума } - dlls.7z


Ранг: 1005.7 (!!!!)
Статус: Участник

Создано: 25 октября 2013 20:54 New!
Цитата · Личное сообщение · #2

если уверены что только GUID,
откройте в IDA, найдите GUID, перебейте в любом хекс редакторе этот GUID
profit

Ранг: 0.8 (гость)
Статус: Участник

Создано: 25 октября 2013 21:55 New!
Цитата · Личное сообщение · #3

elch
Если другой GUID, то его надо регистрировать в реестре, так же как оригинал.

Ранг: 19.4 (новичок)
Статус: Участник

Создано: 25 октября 2013 22:28 · Поправил: elch New!
Цитата · Личное сообщение · #4

reversecode пишет:
перебейте в любом хекс редакторе этот GUID
profit

Делал уже так, выше написал - не работает. В CLSID ключ создаётся, но в контекстном меню ничего нет. Возвращаю guid от Npp - всё работает.
Тут то ли винде не нравится новый гуид, то ли ещё где-то в библиотеке его надо менять (нашёл только одно место, где и менял).


Tilks пишет:
Если другой GUID, то его надо регистрировать в реестре, так же как оригинал.

Регистрироваться - всё регистрируется, а толку нет: http://s1.bild.me/bilder/260513/5355240_0.png


Ранг: 1005.7 (!!!!)
Статус: Участник

Создано: 25 октября 2013 22:46 New!
Цитата · Личное сообщение · #5

что то я не понял, Sublime Text 3 вообще поддерживает расширение контекстного меню?

Ранг: 0.8 (гость)
Статус: Участник

Создано: 25 октября 2013 23:57 New!
Цитата · Личное сообщение · #6

А у меня, не один из 3х в архиве, не хочет регистрироватся без Npp. (regsvr32 SublimeShell.dll) Ответ одинаковий для всех. http://img96.imageshack.us/img96/7051/wwyd.png

Ранг: 19.4 (новичок)
Статус: Участник

Создано: 26 октября 2013 00:12 · Поправил: elch New!
Цитата · Личное сообщение · #7

Tilks пишет:
А у меня, не один из 3х в архиве, не хочет регистрироватся без Npp.

У меня так: http://s017.radikal.ru/i433/1310/c1/52cf4caaebca.gif

Может и тут где-то собака порылась, хз. Я и так уже, помимо того что regsvr32 добавляет, все параметры в реестре продублировал для саблайма, что было как у npp, кроме App Paths. Попробую ещё и это добавить, только сомневаюсь, что поможет. Как видно на гифке, с npp'шным guid всё прекрасно работает, с левым - нет.

Ранг: 0.8 (гость)
Статус: Участник

Создано: 26 октября 2013 01:18 · Поправил: Tilks New!
Цитата · Личное сообщение · #8

elch npp же open source, может стоит посмотреть по коду, или даже собрать эту dll, подправив под свои нужды.
А чем плох простой метод интеграции в реестр. Например:
Code:
  1.  [HKEY_CLASSES_ROOT\*\shell\Open with Notepad\command]
  2. @="c:\windows\notepad.exe %1"

Ранг: 19.4 (новичок)
Статус: Участник

Создано: 26 октября 2013 01:48 · Поправил: elch New!
Цитата · Личное сообщение · #9

Tilks
В том, что у меня есть, из исходников собрать не получается, а студию ставить не охота, для этого.
Второй метод известен, но в XP пункт меню будет без иконки, что не айс.

p.s. рег-файлы для этого стараюсь не использовать, батник по типу такого универсальней:
Code:
  1. @echo off
  2. cls
  3. %~d0
  4. cd "%~dp0"
  5. reg query HKCR\^*\shell | findstr /"AkelPad" >NUL
  6. if not errorlevel 1 (
  7. reg delete HKCR\^*\shell\AkelPad />NUL
  8. cls
  9. echo.
  10. echo Интеграция с оболочкой отключена. Нажмите любую клавишу для выхода . . .
  11. pause >NUL
  12. ) else (
  13. reg add HKCR\^*\shell\AkelPad /Icon /"%cd%\AkelPad.exe,0" />NUL
  14. reg add HKCR\^*\shell\AkelPad\command /ve /""%cd%\AkelPad.exe" "%%1"" />NUL
  15. rem reg add HKCR\Unknown\shell /ve /d open />NUL
  16. rem reg add HKCR\Unknown\shell\open\command /ve /""%cd%\AkelPad.exe" "%%1"" />NUL
  17. cls
  18. echo.
  19. echo Интеграция с оболочкой включена. Нажмите любую клавишу для выхода . . .
  20. pause >NUL
  21. )


p.p.s. Закрыть наверно топик надо, а то в этих извращениях всё-равно никто не поможет. Придётся студию ставить.

p.p.p.s. Со студией - за 10 минут исходник переделал и собрал - всё работает. Действительно, извращением было в winhex'e чёто править.

| Сообщение посчитали полезным: DenCoder

 eXeL@B —› Вопросы новичков —› Возможно ли сменить GUID в shell extension без перекомпиляции?
Эта тема закрыта. Ответы больше не принимаются.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS