Blog. Just Blog

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

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

MessageBox с чекбоксом "Больше не показывать"

04.10.2021 | Категория: Образ мышления: Assembler | Автор: ManHunter
Еще одна хорошая практика взаимодействия с пользователем - окно сообщения с чекбоксом "Больше не показывать это диалоговое окно". Таким образом и приложение выполняет свою работу по уведомлению пользователя о каком-то периодическом событии, и пользователь сам решает, желает ли он наблюдать это уведомление в дальнейшем. Делается это при помощи стандартной функции SHMessageBoxCheck. По параметрам эта функция очень похожа на вызов MessageBox, но поддерживает ограниченное количество стилей и не весь набор кнопок, а также обязательно требует текстовую строку с уникальным идентификатором этого сообщения. В остальном все сводится к единственному вызову, типа такого:
  1. ; Уникальный идентификатор окна сообщения
  2. szUID   db '{D9108BA3-9A61-4398-BFBC-B02102C77E8A}',0
  3.         ...
  4.         ; Значение по умолчанию
  5.         DEFAULT_RESULT = 0
  6.         ; Вывести окно сообщения с галочкой "Больше не показывать"
  7.         invoke  SHMessageBoxCheck,HWND_DESKTOP,\
  8.                 szMess,szTitle,MB_YESNO+MB_ICONEXCLAMATION,\
  9.                 DEFAULT_RESULT,szUID
  10.         ; EAX = выбранная кнопка или DEFAULT_RESULT
Получившееся окно очень похоже на обычное окно сообщения, только внизу к нему добавляется локализованная строка "Больше не показывать это диалоговое окно". Если пользователь поставит эту галочку и сделает какой-либо выбор, в реестре в ключе HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\DontShowMeThisDialogAgain добавится новый параметр с именем уникального идентификатора, который был использован при создании окна сообщения, и строковым значением "NO". При очередном вызове функции SHMessageBoxCheck с таким же уникальным идентификатором, система проверяет наличие и значение этого параметра. Если параметр в реестре найден, то окно сообщения появляться не будет, а приложению сразу же вернется используемое при вызове дефолтное значение. Кстати, хотя такое окно визуально напоминает окно, создаваемое функцией MessageBox и ее аналогами, по своей структуре оно гораздо сложнее. И если у вас вдруг возникнет желание как-нибудь его кастомизировать, то сделать это будет не так просто. По крайней мере на установку хука WH_CBT оно точно не реагирует.

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

Большой сэндвич по-итальянски

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

Большой сэндвич по-итальянски

Нажористый мега-бутерброд для семейного завтрака или для вылазки на природу. Итальянские нотки этому сэндвичу придает основа из чиабаты, копченая колбаса и, конечно же, ароматнейший соус "Песто".

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

Исследование защиты программы Color Pilot

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

Скриншот программы Color Pilot

Color Pilot от Two Pilots - отличная программа для цветокоррекции фотографий. Может быть профессионалы не согласятся, но как по мне, так одна из лучших программ для выполнения этой задачи. У Two Pilots для разных продуктов предусмотрены различные методы дистрибьюции. Где-то полноценный дистрибутив с регистрацией серийником, где-то для обычной загрузки доступна только урезанная демка, а ссылки на ретайловые дистрибутивы высылаются на почту только после оплаты. Когда-то давно я даже покупал лицензии на некоторые их программы, но исключительно чтобы получить доступ к полнофункциональным дистрибутивам для их дальнейшего исцеления. Color Pilot как раз относится к таким программам, у которых бесплатно доступен только триальный дистрибутив с урезанным функционалом и без возможности регистрации. Расстраиваться по этому поводу не стоит, может быть получится превратить программу в полноценную какими-нибудь другими способами.

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

VESA Commander 1.4

25.09.2021 | Категория: Мои программы | Автор: ManHunter

Скриншот программы VESA Commander

VESA Commander - консольная программа для получения различной технической информации и тестирования мониторов с поддержкой стандарта VESA DDC/CI. Она позволяет получить текущее значение и описание любого из поддерживаемых монитором VCP кодов, а также изменить это значение, если это возможно. Таким образом, например, вы можете включить или выключить монитор, поменять язык экранных подсказок, изменить яркость или контрастность, выбрать цветовой профиль, а также сделать со своим монитором еще много чего интересного. Список VCP кодов стандартизирован и описан в документе VESA Monitor Control Command Set (MCCS), там же приводится формат и описание большинства значений передаваемых и получаемых параметров.

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

Как получить размер изображения WebP на PHP

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

Как получить размер изображения WebP на PHP

Столкнулся с ситуацией, что PHP-шная функция для получения размера изображения GetImageSize возвращает нулевые значения при попытке обработать картинки WebP. При этом поддержка WebP в PHP частично имеется. Пришлось все делать самостоятельно.

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

01 ... 06 07 08 09 10 11 12 ... 344
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2022
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 2 (0.012 сек.) / Память: 5 Mb
Наверх