![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
WWWlad |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 26.1.2009 Репутация: нет Всего: нет |
Всем доброго дня.
Написал свое расширение оболочки windows, рисующее каждому файлу в проводнике иконку в зависимости от его содержимого, по сути эскиз-превьюшку. Представляет собой 32-битную DLL с реализацией IExtractIcon, замечательно работает на 32-битных же системах. Но в Win7 64 работать отказывается. Точнее, превьюшки рисуются при просмотре папки в OpenDialog моей же программы (32 бит), но не в штатном проводнике. Вопрос к знатокам: могут ли вообще 32бит расширения оболочки полноценно функционировать в 64бит системах? Если да, что какие дополнительные действия для этого требуются? Как их правильно регистрировать? И второй вопрос: можно ли в 64бит системе запустить 32-битный проводник (explorer), чтобы хоть временно пронаблюдать работу моей DLL? Заранее огромное спасибо всем ответившим. |
|||
|
||||
CodeMonkey |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Нет. 32-х разрядный компонент не может быть загружен в 64-х разрядный процесс и наоборот. Вам нужно два варианта своей DLL: 32-х разрядный и 64-х разрядный. Второй из которых... невозможно сделать в Delphi и не будет возможно ещё как минимум год. Можно посмотреть в сторону FreePascal или Microsoft-ских компиляторов.
Можно. Запускать C:\Windows\SysWOW64\explorer.exe вместо C:\Windows\explorer.exe. Это сообщение отредактировал(а) CodeMonkey - 6.9.2010, 19:30 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
||||
|
|||||
WWWlad |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 26.1.2009 Репутация: нет Всего: нет |
CodeMonkey,
спасибо за развернутый ответ. Вот только не получается запустить 32-битный проводник ![]() |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Так естественно. Проводник-же может быть только один. Вы запущенный сначала закройте, а уж потом запускайте новый.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
WWWlad |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 26.1.2009 Репутация: нет Всего: нет |
Пробовал. Прибивал в диспетчере все explorer'ы (с исчезновением панели задач), потом запускал C:\Windows\SysWOW64\explorer.exe - в итоге имеем 64-битный процесс. Или чего-то не понимаю? |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
WWWlad |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 26.1.2009 Репутация: нет Всего: нет |
||||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Похоже, в Windows 7 это невозможно.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |