Образ мышления: Assembler
То, что не удается запрограммировать на Ассемблере, приходится паять
Образ мышления: Assembler - RSS-канал
Образ мышления: Assembler - Карта сайта
Добавление элементов и задач в Jump List приложения
22.01.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter
Добавление элементов и задач в Jump List приложения
Функция "Jump List" - список быстрого перехода - впервые появилась в Windows 7. Она создана для облегчения поиска нужных опций и ускорения выполнения наиболее частых операций для выбранного приложения. Списки быстрого перехода появляются при нажатии правой кнопкой мыши на значке приложения в панели задач. Большинство функций для работы с панелью задач я уже давным-давно разобрал, а про Jump List совсем забыл. Срочно исправляю ситуацию.
Читать статью целиком »
Просмотров: 688 | Комментариев: 0
Получение и изменение обоев рабочего стола на Ассемблере
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
Читать статью целиком »
Просмотров: 533 | Комментариев: 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
Читать статью целиком »
Просмотров: 580 | Комментариев: 0
Получение кода HTML-страницы и отдельных тегов
21.12.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter
Получение кода HTML-страницы и отдельных тегов
Ранее мы уже познакомились с такой интересной штукой, как встроенный браузер на Ассемблере. Но его применение именно в таком виде весьма ограниченно. А вот работа с исходным текстом загруженной страницы, извлечение из нее данных, взаимодействие с элементами - это совершенно другой уровень полезности.
Читать статью целиком »
Просмотров: 646 | Комментариев: 3
Парсинг метаданных WAV-файлов на Ассемблере
23.11.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter
Парсинг метаданных WAV-файлов на Ассемблере
Формат WAV, разработанный совместно IBM и Microsoft, чаще всего используется для хранения несжатого потокового аудио. Несмотря на авторство MS и повсеместное использование WAV-файлов в Windows, системными средствами извлечь из них метаданные невозможно. Ну и ничего страшного, внутренний формат файлов достаточно простой, так что распарсим его самостоятельно.
Читать статью целиком »
Просмотров: 622 | Комментариев: 1