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

GUID Helper 1.5
26.01.2023 | Категория: Мои программы | Автор: ManHunter

Скриншот программы GUID Helper
Программа-помощник для программистов, которая преобразует название и GUID из строковой записи в формат данных, принятый в Ассемблере. У программы есть собственная база данных, если введенное название GUID в ней присутствует, то вы сразу получите заполненное поле, соответствующее его значению. И наоборот, по строке GUID можно получить из базы его название. Если указанный GUID относится к интерфейсам, то опционально можно также получить его методы в виде структуры. Программа написана для личных нужд, так как мне надоело сперва искать в интернете нужные значения, а затем вручную переводить их в формат Ассемблера. Если программа пригодится кому-нибудь еще, то я буду только рад. Файл базы данных представляет собой обычный ini-файл, так что можете добавлять туда любые нужные вам значения или вообще заменить его на свой собственный.
Читать статью целиком »
Просмотров: 2134 | Комментариев: 18

Использование системного окна прогресса на Ассемблере
23.01.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter
Системное окно прогресса - удобный инструмент в тех случаях, когда нет возможности возиться с кастомизацией или созданием нестандартных элементов, или хочется сделать все максимально приближенным к системному интерфейсу, независимо от платформы, где будет запускаться ваше приложение. И очень странно, что нет никакой информации о реализации этого диалогового окна на Ассемблере, хотя все делается достаточно просто. Начинаем с описания интерфейса, GUID'ов и констант.Code (Assembler) : Убрать нумерацию
- ; GUID {F8383852-FCD3-11D1-A6B9-006097DF5BD4}
- CLSID_ProgressDialog \
- dd 0F8383852h
- dw 0FCD3h
- dw 011D1h
- db 0A6h, 0B9h, 000h, 060h, 097h, 0DFh, 05Bh, 0D4h
- ; GUID {EBBC7C04-315E-11D2-B62F-006097DF5BD4}
- IID_IProgressDialog \
- dd 0EBBC7C04h
- dw 0315Eh
- dw 011D2h
- db 0B6h, 02Fh, 000h, 060h, 097h, 0DFh, 05Bh, 0D4h
- ; IID_IProgressDialog Interface
- struct IProgressDialog
- ; IUnknown
- QueryInterface dd ?
- AddRef dd ?
- Release dd ?
- ; IProgressDialog
- StartProgressDialog dd ?
- StopProgressDialog dd ?
- SetTitle dd ?
- SetAnimation dd ?
- HasUserCancelled dd ?
- SetProgress dd ?
- SetProgress64 dd ?
- SetLine dd ?
- SetCancelMsg dd ?
- Timer dd ?
- ends
- PDTIMER_RESET = 0x00000001
- PDTIMER_PAUSE = 0x00000002
- PDTIMER_RESUME = 0x00000003
- PROGDLG_NORMAL = 0x00000000
- PROGDLG_MODAL = 0x00000001
- PROGDLG_AUTOTIME = 0x00000002
- PROGDLG_NOTIME = 0x00000004
- PROGDLG_NOMINIMIZE = 0x00000008
- PROGDLG_NOPROGRESSBAR = 0x00000010
- PROGDLG_MARQUEEPROGRESS = 0x00000020
- PROGDLG_NOCANCEL = 0x00000040
Читать статью целиком »
Просмотров: 120 | Комментариев: 2

Добавление элементов и задач в Jump List приложения
22.01.2023 | Категория: Образ мышления: Assembler | Автор: ManHunter

Добавление элементов и задач в Jump List приложения
Функция "Jump List" - список быстрого перехода - впервые появилась в Windows 7. Она создана для облегчения поиска нужных опций и ускорения выполнения наиболее частых операций для выбранного приложения. Списки быстрого перехода появляются при нажатии правой кнопкой мыши на значке приложения в панели задач. Большинство функций для работы с панелью задач я уже давным-давно разобрал, а про Jump List совсем забыл. Срочно исправляю ситуацию.
Читать статью целиком »
Просмотров: 234 | Комментариев: 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
Читать статью целиком »
Просмотров: 224 | Комментариев: 2

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

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