Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Получение и изменение обоев рабочего стола на Ассемблере

14.01.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter
Тема обоев рабочего стола Windows уже поднималась тут несколько раз, но это были, в основном, какие-то готовые программные решения. Настало время заглянуть "под капот" системы и посмотреть, как оно устроено. А лучшего инструмента, чем Ассемблер, для этих целей сложно придумать.

Начнем с получения информации об установленных обоях рабочего стола. Тут ничего сложного, достаточно вызвать функцию SystemParametersInfo с параметром SPI_GETDESKWALLPAPER.
  1.         SPI_GETDESKWALLPAPER = 0x0073
  2.  
  3.         invoke  SystemParametersInfo,SPI_GETDESKWALLPAPER,\
  4.                 MAX_PATH,szPath,0
  5.         ; szPath -> строка пути к файлу обоев
После выполнения этого кода в переменную szPath будет записана строка с расположением файла обоев на диске. Больше никакой информации типа положения изображения получить нельзя. В результате экспериментов выяснилось, что при смене обоев через системное меню "Персонализация", выбранный файл с изображением копируется в папку с пользовательскими темами, а при программной установке остается на месте. Особой практической пользы в этом знании нет, просто интересный факт.

Теперь переходим к смене обоев рабочего стола. В интернетах для этих целей обычно рекомендуют использовать упомянутую выше функцию SystemParametersInfo с параметром SPI_SETDESKWALLPAPER. Код получается минимальный, все очень просто реализуется, выглядит на первый взгляд стильно, модно, молодежно.
  1. ; Путь к файлу с новыми обоями рабочего стола
  2. szPath  db 'c:\windows\wallpaper.bmp',0
  3.  
  4.         SPI_SETDESKWALLPAPER  = 20
  5.         SPIF_SENDWININICHANGE = 2
  6.         SPIF_UPDATEINIFILE    = 1
  7.  
  8.         invoke  SystemParametersInfo,SPI_SETDESKWALLPAPER,\
  9.                 0,szPath,SPIF_UPDATEINIFILE+SPIF_SENDWININICHANGE
Минусы этого способа перекрывают все плюсы. Нет возможности настраивать режим отображения обоев. Новые обои отображаются в том же положении, в котором были установлены текущие, если старое и новое изображения имеют разные пропорции, то результат будет печальным. А главное, что в некоторых случаях невозможно использовать файлы графических форматов кроме BMP, хотя через меню "Персонализация" они устанавливаются без вопросов.

Читать статью целиком »
Просмотров: 533 | Комментариев: 2

Как добавить просмотр файлов HEIC в Проводник

03.11.2022 | Категория: Software | Автор: ManHunter

Как добавить просмотр файлов HEIC в Проводник

Появилось тут у меня некоторое количество фотографий в формате HEIC (High Efficiency Image Coding), сделанных на айфон. С конвертацией в более привычные форматы проблем не возникло, но вот в Проводнике хотелось бы видеть превьюшки фотографий. Согласитесь, что так работать гораздо удобнее.

Читать статью целиком »
Просмотров: 1985 | Комментариев: 10

Загрузка шрифтов WOFF на Ассемблере

18.09.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter

Загрузка шрифтов WOFF на Ассемблере

WOFF или Web Open Font Format - формат шрифтов, чаще всего используемый для Web. Он основан на стандартных форматах шрифтов OpenType или TrueType, но данные в WOFF хранятся в сжатом виде, за счет чего повышается скорость загрузки. Штатными средствами система Windows с такими шрифтами работать не умеет, поэтому мне стало интересно разобраться с этим форматом.

Читать статью целиком »
Просмотров: 595 | Комментариев: 2

Запуск Проводника с правами Администратора

10.08.2022 | Категория: Software | Автор: ManHunter

Запуск Проводника с правами Администратора

В процессе исследований внезапно выяснилось, что в Windows 10, а может и в более новых системах, процесс Проводника запускается со стандартным токеном доступа пользователя. Причем обычными средствами повысить привилегии для Проводника невозможно. К примеру, нельзя параллельно запустить второй процесс explorer.exe через меню "Запуск от имени администратора". Конечно, безопасность превыше всего, забота о пользователях - наш приоритет, бла-бла-бла, вот это все. А если вам приходится часто работать с системными каталогами или редактировать защищенные системные файлы, то постоянные уведомления безопасности UAC вам быстро надоедят. Впрочем, если чего-то нельзя, но очень надо, то можно.

Читать статью целиком »
Просмотров: 2638 | Комментариев: 7

Как добавить просмотр миниатюр SVG в Проводник

19.07.2022 | Категория: Software | Автор: ManHunter

Как добавить просмотр миниатюр SVG в Проводник

Сейчас у меня появилась необходимость работать с достаточно большим объемом картинок в формате SVG, в связи с чем возник целый ряд проблем. Вопрос с просмотром SVG-файлов я для себя уже решил, другие задачи тоже разрулил, но осталось еще одно - отображение превьюшек файлов в Проводнике. Для обычных картинок там создаются соответствующие миниатюры, а для SVG по умолчанию только иконка связанной с ними программы. И, как ни странно, даже в современных системах такой возможности "из коробки" не предусмотрено. Неудобно.

Читать статью целиком »
Просмотров: 1979 | Комментариев: 10

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 3 (0.0126 сек.) / Память: 4.5 Mb
Наверх