Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Метод итераций для нахождения обратной матрицы http://www.cyberforum.ru/cpp-beginners/thread490649.html
Люди, подскажите как написать программу нахождения обратной матрицы методом итераций, или хотя бы решения системы уравнений
C++ Где взять Ultimate Toolbox 8.0? Народ! Подскажите где взять...Очень нужно. Заранее большое спасибо. http://www.cyberforum.ru/cpp-beginners/thread490602.html
Как написать plug-in к FrontPage? C++
Никто не писал на C++ плаг-инчики к FronPage? Или может знает литературу, где это подробно описано?
C++ Готовые примеры графического интерфейса с сетевыми моделями
Народ! Есть где нить готовые свободные примеры кода для визуализации сетевых моделей? Нужно: Движение объектов (узлов) drag-n-drop'ом, автоматическая ретрасисровка связей при движении узлов,...
C++ Как в МFС работать с несколькими взаимосвязанными базами данных http://www.cyberforum.ru/cpp-beginners/thread490482.html
Есть аксессовская БД, в которой несколько взаимосвязаных таблиц. Как подключить их и как сделать так чтоб связи было видно? Спасибки.
C++ Форум Может есть где 'Нормальный' форум, где отвечают не раз в неделю ну хотяб почаще... подробнее

Показать сообщение отдельно
dema
Сообщений: n/a

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

07.12.2010, 21:50. Просмотров 557. Ответов 0
Метки (Все метки)

В 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 не вызывается.

Что я делаю не правильно? Может вообще все это надо делать по другому?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru