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

Получение и изменение обоев рабочего стола на Ассемблере
14.01.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter
Тема обоев рабочего стола Windows уже поднималась тут несколько раз, но это были, в основном, какие-то готовые программные решения. Настало время заглянуть "под капот" системы и посмотреть, как оно устроено. А лучшего инструмента, чем Ассемблер, для этих целей сложно придумать.Начнем с получения информации об установленных обоях рабочего стола. Тут ничего сложного, достаточно вызвать функцию SystemParametersInfo с параметром SPI_GETDESKWALLPAPER.
Code (Assembler) : Убрать нумерацию
- SPI_GETDESKWALLPAPER = 0x0073
- invoke SystemParametersInfo,SPI_GETDESKWALLPAPER,\
- MAX_PATH,szPath,0
- ; szPath -> строка пути к файлу обоев
Теперь переходим к смене обоев рабочего стола. В интернетах для этих целей обычно рекомендуют использовать упомянутую выше функцию SystemParametersInfo с параметром SPI_SETDESKWALLPAPER. Код получается минимальный, все очень просто реализуется, выглядит на первый взгляд стильно, модно, молодежно.
Code (Assembler) : Убрать нумерацию
- ; Путь к файлу с новыми обоями рабочего стола
- szPath db 'c:\windows\wallpaper.bmp',0
- SPI_SETDESKWALLPAPER = 20
- SPIF_SENDWININICHANGE = 2
- SPIF_UPDATEINIFILE = 1
- invoke SystemParametersInfo,SPI_SETDESKWALLPAPER,\
- 0,szPath,SPIF_UPDATEINIFILE+SPIF_SENDWININICHANGE
Читать статью целиком »
Просмотров: 450 | Комментариев: 2

Мониторинг активности HDD на Ассемблере
09.01.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter
В качестве предисловия коротенький анекдот из времен MS-DOS: "- Висим... - Не висим. - Висим! - Не висим, говорю - диском дpыгает." И действительно, активность жесткого диска, выражавшаяся в моргании соответствующего индикатора на корпусе, говорила о работе процесса, просто надо было подождать. Но иногда такие индикаторы отсутствовали или системник стоял в таком месте, что их не было видно. В этих случаях приходилось решать задачу различными программами, которые отображали активность жесткого диска как-нибудь иначе, например, морганием светодиода ScrollLock на клавиатуре.Вот и мне захотелось сделать что-нибудь подобное. Естественно, на Ассемблере. Для начала некоторые данные, о которых не знает FASM.
Code (Assembler) : Убрать нумерацию
- struct DISK_PERFORMANCE
- BytesRead dq ?
- BytesWritten dq ?
- ReadTime dq ?
- WriteTime dq ?
- IdleTime dq ?
- ReadCount dd ?
- WriteCount dd ?
- QueueDepth dd ?
- SplitCount dd ?
- QueryTime dd ?
- StorageDeviceNumber dd ?
- StorageManagerName rd 8
- ends
- IOCTL_DISK_PERFORMANCE = 0x70020
Читать статью целиком »
Просмотров: 507 | Комментариев: 0

Получение кода HTML-страницы и отдельных тегов
21.12.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter

Получение кода HTML-страницы и отдельных тегов
Ранее мы уже познакомились с такой интересной штукой, как встроенный браузер на Ассемблере. Но его применение именно в таком виде весьма ограниченно. А вот работа с исходным текстом загруженной страницы, извлечение из нее данных, взаимодействие с элементами - это совершенно другой уровень полезности.
Читать статью целиком »
Просмотров: 559 | Комментариев: 3

Парсинг метаданных WAV-файлов на Ассемблере
23.11.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter

Парсинг метаданных WAV-файлов на Ассемблере
Формат WAV, разработанный совместно IBM и Microsoft, чаще всего используется для хранения несжатого потокового аудио. Несмотря на авторство MS и повсеместное использование WAV-файлов в Windows, системными средствами извлечь из них метаданные невозможно. Ну и ничего страшного, внутренний формат файлов достаточно простой, так что распарсим его самостоятельно.
Читать статью целиком »
Просмотров: 565 | Комментариев: 1

Парсинг метаданных APE-файлов на Ассемблере
18.11.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter

Парсинг метаданных APE-файлов на Ассемблере
APE - формат музыкальных файлов, обработанных при помощи популярного кодека Monkey's Audio. Он позволяет кодировать цифровой звук без потерь при неплохом уровне компрессии данных. Сегодня мы научимся извлекать из этих медиафайлов данные об исполнителе, названии трека и т.п.
Читать статью целиком »
Просмотров: 427 | Комментариев: 3
