Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
dema
1

Как модифицировать правую панельку(Detailed View) для директориев и файлов в Windows Explorer?

07.12.2010, 21:50. Показов 1027. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В Windows Explorer мне нужно модифицировать правую панельку(Detailed View) для директориев и файлов.
Нужно разделить ее на две части : сверху показать обычный Detailed View а под ним другую панельку где бы показывалась дополнительная информация о выбранном файле или директории. Я сначала попробовал повозиться с Shell Extensions - кажется симпатичная штуковина - но она позволяет делать такие вещи для NameSpace Extensions, с обычными дирекориями вроде тоже можно-но если вы пометили ее как Web View и далее менять *.htt файлы. Мне это не подходит...

Поэтому я сейчас копаю - как бы хукнуть ехплорер. Что накопал:
1)Explorer.exe - это процесс который загружается с загрузкой ОС.
2)Windows Explorer это ветви от Explorer.exe.

Что я надумал:
Загрузить в пространство Explorer.exe мою библиотеку, которая должна содержать код для моего Detailed View. + Она должна установить ловушку, чтобы перед тем как Windows Explorer создает свое Detailed View(а делает он это каждый раз когда меняется выбранная директория в левой панеле) - подпихнуть ему мое.

С помощью CreateRemoteThread и LoadLibrary я загрузил библиотеку. Далее возникают проблемы:
1)Попробовал в DllMain поставить ловушку: SetWindowsHookEx(WH_SHELL, (HOOKPROC)ShellProc, (HINSTANCE)hDLL, 0) и сразу проблема - вроде как работает но только если breakpoint в DllMain поставить а если нет то хук ставится а моя ShellProc не вызывается.
2)В принципе как мне кажется в последнем параметре к SetWindowsHookEx лучше бы указать threadID.
Поэтому я решил перехватить вызов CreateThread - если Windows Explorer это ветви от Explorer.exe.... На вооружение взял http://www.codeproject.com/dll/apihijack.asp. Опять же сделал подмену Kernel32.dll::CreateThread на мою собственную-все это сделал из DllMain библиотеки которую я подгрузил в адресное пространство Explorer.exe. Вроде все прошло нормально но тока моя CreateThread не вызывается.

Что я делаю не правильно? Может вообще все это надо делать по другому?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2010, 21:50
Ответы с готовыми решениями:

Модифицировать драйвер для Canon Laser Shot LBP-1120 для Windows 7 x64
Люди добрые, помогите! Нигде в просторах сети нет драйвера для Canon Laser Shot LBP-1120 для...

Программировани Shell для Windows (замена Windows Explorer)
Если да. то поделитесь пожалуйста исходниками или на худой конец ссылками на OpenSource проектами...

internet explorer 8 для windows 8
Уважаемые знатоки, подскажите, пожалуйста, как установить internet explorer 8 на windows 8. дело...

Есть у кого explorer.exe для windows 8.1?
explorer.exe для windows 8.1

0
07.12.2010, 21:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2010, 21:50
Помогаю со студенческими работами здесь

Как закрепить панельку?
Добрый день, подскажите как жестко закрепить панельку без права ее перемещать?

Помогите найти дистрибутив Internet Explorer 6 для Windows XP.
Ситуация: на домашнем ПК WindowsXP, InternetExplorer6. После проверки на вирусы и удаления...

как создать раздвижную панельку
здрасти видел в делфи такую компонент который раздвигается по нажатию на стрелочку подскажите как...

Как установить Internet Explorer 8 в Windows 7?
Скачанные с оф сайта установщики IE8 и IE9 не устанавливаются, твердят,что данная версия не...

Как переустановить Internet Explorer в Windows 98?
Как переустановить Internet Explorer в Windows 98? Я не могу найти этого компонента в меню...

Как сделать панельку вроде Output в VC++6.0?
Здравствуйте, дорогие товарищи! Хочу сделать панельку для вывода текста. Вся панель - один большой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru