Blog. Just Blog

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

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

Получение длительности MP3-файлов на Ассемблере

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

Получение длительности MP3-файлов на Ассемблере

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

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

Затемнение изображения на PHP

17.03.2022 | Категория: Web-мастеру и не только | Автор: ManHunter

Затемнение изображения на PHP

Очередной кусочек кода для работы с изображениями на PHP. Сегодня это будет затемнение. Кроме изменения яркости всего изображения, этот эффект можно применять для автоматического создания презентационных изображений или портфолио. Например, можно затемнить часть изображения, а затем наложить на него какой-нибудь текст.

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

Создание пользовательского MessageBox с помощью SoftModalMessageBox

14.03.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter
Ранее я уже рассказывал, каким образом можно кастомизировать стандартный MessageBox при помощи хуков, в частности, менять надписи на кнопках. Сегодня разберем создание MessageBox с помощью недокументированной функции SoftModalMessageBox. В качестве единственного параметра она принимает указатель на структуру MSGBOXDATA, которая тоже относится к недокументированным:
  1. struct MSGBOXDATA
  2.         params         MSGBOXPARAMS
  3.         pwndOwner      dd ?  ; Хэндл окна-владельца
  4.         wLanguageId    dd ?  ; Идентификатор языка
  5.         pidButton      dd ?  ; Массив с идентификаторами кнопок
  6.         ppszButtonText dd ?  ; Массив с указателями на строки текста
  7.         cButtons       dd ?  ; Количество кнопок в окне
  8.         DefButton      dd ?  ; Кнопка по умолчанию
  9.         CancelId       dd ?  ; Идентификатор кнопки отмены
  10.         Timeout        dd ?  ; Таймаут окна
  11.         Unknown        rd 5  ; Зарезервировано
  12. ends
Давайте подробно разберем ее поля, так как никаких нормальных описаний в рунете я не нашел, пришлось собирать информацию по крупицам. Первый параметр - документированная структура MSGBOXPARAMS, в ней можно настроить, например, пользовательскую иконку, которая будет отображаться в MessageBox. Подробное описание структуры есть в MSDN, дублировать его не буду. Поля pwndOwner и wLanguageId сложности не представляют, это хэндл окна-владельца и идентификатор языка, на котором будет выведен текст в окне сообщения. Поле pidButton - указатель на массив DWORD'ов, которые являются идентификаторами кнопок в создаваемом окне. Важное замечание. Идентификаторы кнопок должны быть строго одним из стандартных значений, возвращаемых обычной функцией MessageBox. Любое другое значение будет проигнорировано, а соответствующая кнопка при нажатии не будет ничего делать. В поле ppszButtonText записывается указатель на массив указателей на юникодные строки, которые будут использоваться в качестве надписей на кнопках. Размер кнопок под длину надписей не подгоняется, берется максимальный системный размер кнопки для текущей локали, так что без фанатизма. cButtons - количество кнопок в окне. Этому количеству должно соответствовать количество элементов в массиве идентификаторов и в массиве указателей на названия. DefButton - кнопка по умолчанию, нумерация кнопок начинается с 0. В поле CancelId по задумке должен быть идентификатор, отвечающий за кнопку отмены, но по факту это поле игнорируется. Нулевое значение деактивирует крестик закрытия в заголовке окна сообщения. Timeout задает интервал, после которого окно автоматически закроется, об этом я рассказывал в одной из предыдущих статей.

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

Беляши

11.03.2022 | Категория: А еще я туда ем! | Автор: ManHunter

Беляши

Беляши родом из татарской и казахской кухни, но заслуженно завоевали популярность на территории всего бывшего СССР. Их продавали в уличных ларьках и на вокзалах, готовили на праздники, угощали гостей. В каждой семье, наверное, есть свой рецепт беляшей со своими хитростями.

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

Исследование защиты программы AceMovi Video Editor

09.03.2022 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы AceMovi Video Editor

AceMovi Video Editor - полупрофессиональное решение для домашнего видеомонтажа. По функционалу более простой, чем признанные видеоредакторы, но при этом инструментов в нем вполне достаточно, чтобы без особых сложностей превратить ваши видеоролики в настоящие шедевры. В незарегистрированном виде редактор накладывает на сохраняемые файлы водяной знак. Цена кусается. Для 60 баксов я бы точно нашел более подходящее применение.

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

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