Запуск просмотрщика изображений из Windows XP на современной Windows / Хабр
ВЕГВремя чтения 2 мин
Просмотров 20KСистемное программирование *Разработка для Windows *
У меня есть каталог со старыми образами, которые я собирал в нулевых. Я перемещаю его вместе со всеми остальными файлами с одного компьютера на другой при каждом обновлении. Время от времени, когда я немного ностальгирую, я открываю его и просматриваю фотографии. Есть несколько файлов GIF с анимацией, и каждый раз замечаю, что стандартный просмотрщик изображений из Windows 7 ее не поддерживает. Я вспомнил, что просмотрщик изображений из Windows XP мог нормально воспроизводить GIF-анимацию. Итак, я потратил немного времени, чтобы преодолеть несколько препятствий и запустить старый просмотрщик изображений на современной Windows, для этого был создан небольшой лаунчер. Теперь я могу смотреть эти старые изображения в аутентичном интерфейсе старой программы просмотра изображений из Windows XP.rundll32 c:\windows\system32\shimgvw.dll,ImageView_Fullscreen c:\test.gifНо этот трюк не работает, когда вы пытаетесь запустить shimgvw.dll из Windows XP в Windows 7, для shimgvw.dll требуется включенный режим совместимости с Windows XP. Это можно сделать, установив этот режим совместимости для копии rundll32, но это уродливый хак, и он будет вызывать отображение диалога UAC при каждом запуске вьювера, поэтому он не подходит.
После короткого сеанса отладки я нашел виновника. shimgvw.dll неявно импортирует некоторые устаревшие функции оболочки из shunimpl.
Ваш комментарий будет первым