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

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

Парсинг метаданных файлов TAK на Ассемблере
TAK (аббревиатура на немецком, которая расшифровывается как "Tom's lossless Audio Compressor") - это алгоритм сжатия аудиофайлов без потерь. Кодек TAK обеспечивает эффективность сжатия на уровне формата APE, достигая при этом скорости декодирования, как у популярного кодека FLAC. Формат достаточно экзотичный, при этом его понимают некоторые плееры. Но для меня главное, что формат TAK поддерживает метатеги, которые меня интересуют в плане парсинга.
Читать статью целиком »
Просмотров: 361 | Комментариев: 6

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

Парсинг метаданных файлов OptimFROG на Ассемблере
OptimFROG - это аудиокодек для сжатия без потерь. Он оптимизирован для достижения максимально высокой степени сжатия и в настоящее время имеет один из лучших показателей по этому параметру. В качестве исходных данных используются WAV или RAW-файлы. При конвертировании в формат OptimFROG они сжимаются по специальному алгоритму, заточенному именно под аудиопотоки.
Читать статью целиком »
Просмотров: 248 | Комментариев: 0

Как получить хэндл контрола, на котором находится фокус
07.11.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter
Очередная мелкая развлекалочка на Ассемблере. Задача: узнать хэндл контрола в чужом окне, на котором в данный момент находится фокус. С получением активного окна проблем быть не должно, для этого достаточно вызвать функцию GetForegroundWindow. А дальше можно воспользоваться следующим кодом.Code (Assembler) : Убрать нумерацию
- ; Получить ID текущего потока
- invoke GetCurrentThreadId
- mov [current],eax
- ; Получить хэндл активного окна
- invoke GetForegroundWindow
- ; Получить ID потока чужого окна
- invoke GetWindowThreadProcessId,eax,tmp
- mov [remote],eax
- ; Подключиться к обработке ввода данных
- invoke AttachThreadInput,[remote],[current],TRUE
- or eax,eax
- jz .processed
- ; Получить хэндл активного контрола
- invoke GetFocus
- or eax,eax
- jz @f
- ; EAX -> хэндл активного контрола
- @@:
- ; Отключиться от обработки ввода данных
- invoke AttachThreadInput,[remote],[current],FALSE
Читать статью целиком »
Просмотров: 325 | Комментариев: 0

Работа с регулярными выражениями на Ассемблере
02.11.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter

Работа с регулярными выражениями на Ассемблере
Без преувеличения, регулярные выражения - один из самых мощных инструментов для обработки как текстовой, так и двоичной информации. В настоящее время есть немало различных внешних библиотек, классов и компонентов для работы с регулярками, но не стоит забывать, что в арсенале программиста есть и встроенные в систему средства, которые позволяют реализовать практически все мощности этой технологии. Вот сегодня о них и поговорим.
Читать статью целиком »
Просмотров: 779 | Комментариев: 1

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

Парсинг метаданных MIDI-файлов на Ассемблере
MIDI - "цифровой интерфейс музыкальных инструментов" - стандарт цифровой звукозаписи на формат обмена данными между электронными музыкальными инструментами. В отличие от других форматов это не оцифрованный звук, а наборы команд (проигрываемые ноты, ссылки на проигрываемые инструменты, значения изменяемых параметров звука), которые могут воспроизводиться по-разному в зависимости от устройства воспроизведения. Это позволяет реализовывать устройства, производящие аранжировку по заданным аккордам, а также приложения для воспроизведения и визуализации звука.
Читать статью целиком »
Просмотров: 428 | Комментариев: 6
