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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dema
Сообщений: n/a
#1

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

07.12.2010, 21:50. Просмотров 553. Ответов 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 не вызывается.

Что я делаю не правильно? Может вообще все это надо делать по другому?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 21:50     Как модифицировать правую панельку(Detailed View) для директориев и файлов в Windows Explorer?
Посмотрите здесь:

Windows Explorer на VC++ (MDI?) - C++
Добрый день. ПРоблема в следующем, надо написать приложение по типу Windows Exlorer-а. ТОесть слева (в окне) дерево с вкладками, а с...

как модифицировать? - C++
Здравствуйте, как сделать в виде циклов или еще чего то, чтобы мы вводили u, v с клавиатуры у нас брало b0, b1, b0, b1; к примеру для...

Вставка узла в дерево Windows Explorer - C++
Хочу, чтобы моя прога добавляла в дерево Explorerа свой узел (типа как Панель управления или Сетевое окружение) и при обращении к ней...

Как модифицировать исходный код программы - C++
Здравствуйте,доброго времени суток. Задали мне задачу с которой я не могу справится. Если можете, помогите пожалуйста. ЗАДАЧА : ...

Как узнать и изменить режим отображения скрытых и системных файлов в Windows? - C++
Как узнать, какой режим отображения скрытых и системных файлов установлен в настройках Windows? Как его изменить?

Как создать разные имена для файлов - C++
Как сделать так чтобы при каждом новом проходе цикла создавался новый файл? #include<fstream> int main() { std::ofstrem...

Как использовать std::wstring для удаление файлов - C++
Если можно, пожалуйста, приведите код.

Как правильно объявить константы для всего проекта, который состоит из нескольких файлов - C++
какой-нибудь Variables.h в котором будет что-то типа: #define A 50 #define B 40 или const int A 50

Как написать плеер для Windows ? - C++
Посоветуйте какие-то книги стати советы. Правильно ли я понимаю что: - с помощью кодеков декодируется видео и аудио, но что они выдают...

Как изменить в реестре стартовую страницу Internet Explorer? - C++
Подскажите пожалуйста как можно с помощью с++ в реестре изменить стартовую страницу Internet Explorer Я написал программу int main(){ ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru