Blog. Just Blog

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

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

Чехол-аккумулятор для Huawei Honor 9

22.03.2019 | Категория: Обзоры техники | Автор: ManHunter

Чехол-аккумулятор для Huawei Honor 9

Пауэрбанки - это хорошо и здорово, но сейчас на рынке электроники появились и другие интересные предложения. Я говорю о чехлах для смартфонов со встроенными в них аккумуляторами. У меня два смартфона Huawei Honor 9, поэтому я решил попробовать такой девайс с одним из них. Кому интересно - читайте обзор.

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

Загрузка шрифтов из памяти на Ассемблере

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

Загрузка шрифтов из памяти на Ассемблере

Хоть я и не сторонник всяких свистоперделок в интерфейсах, но некоторые элементы диалоговых окон выглядят лучше, если к ним применить какой-нибудь шрифт. И хорошо, если это будет стандартный шрифт, типа консольного, а как быть, если требуется использовать какой-нибудь особенный стиль? Никто не даст гарантию, что у пользователя в системе имеется этот шрифт. Принудительно устанавливать в систему шрифт, который нужен только вашему приложению, - это очень плохая практика. Сохранять файл со шрифтом на диск, даже во временный каталог, тоже так себе идея. К счастью, есть простой способ использовать шрифты вообще без установки, напрямую из памяти.

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

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

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

Скриншот программы Screen GIF

Программа Screen GIF предназначена для записи участка экрана в виде анимированного GIF-файла. Таких программ достаточно, в том числе и бесплатных, поэтому очень странно смотрится ценник в несколько десятков евро. Это при том, что Screen GIF делает примерно то же самое, что и бесплатные аналоги. Добро пожаловать на разделочный стол.

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

Текст с наложением тени с помощью CSS

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

Текст с наложением тени с помощью CSS

Симпатичный эффект на чистом CSS для создания красивых заголовков. Буквы с тенью накладываются друг на друга с небольшим смещением. В зависимости от шрифта смещение letter-spacing придется подрегулировать.
  1. <style type="text/css">
  2. .header div {
  3.     displayinline-block;
  4.     font-familyGeorgia;
  5.     font-size72px;
  6.     font-weightbold;
  7.     color#FFFFFF;
  8.     letter-spacing: -12px;
  9.     text-shadow: -3px 0px 5px #000000;
  10. }
  11. </style>
Верстка получается немного громоздкой, так как каждую букву текста приходится оборачивать в отдельный тег.
  1. <div class="header">
  2.     <div>C</div>
  3.     <div>S</div>
  4.     <div>S</div>
  5.     <div>&nbsp;&nbsp;&nbsp;</div>
  6.     <div>i</div>
  7.     <div>s</div>
  8.     <div>&nbsp;&nbsp;&nbsp;</div>
  9.     <div>A</div>
  10.     <div>w</div>
  11.     <div>e</div>
  12.     <div>s</div>
  13.     <div>o</div>
  14.     <div>m</div>
  15.     <div>e</div>
  16. </div>
Готовый пример вы можете посмотреть на демонстрационной странице.

Просмотров: 204 | Комментариев: 0

Как правильно запретить Windows переходить в спящий режим

12.03.2019 | Категория: Образ мышления: Assembler | Автор: ManHunter
В одной из предыдущих статей я описывал способ, как можно запретить Windows переходить в спящий режим. Там это было реализовано через имитацию активности пользователя. Способ действительно рабочий, но с точки зрения решения поставленной задачи не совсем корректный. Настало время исправить ситуацию. Итак, наиболее правильный способ запретить Windows переходить в спящий режим - это использование функции SetThreadExecutionState. В качестве параметра она принимает один или комбинацию из нескольких флагов:
  1. ES_CONTINUOUS        = 0x80000000
  2. ES_DISPLAY_REQUIRED  = 0x00000002
  3. ES_SYSTEM_REQUIRED   = 0x00000001
  4. ES_AWAYMODE_REQUIRED = 0x00000040
Значения флагов хорошо расписаны в MSDN. Так, ES_SYSTEM_REQUIRED не дает системе перейти в спящий режим. Флаг ES_DISPLAY_REQUIRED отвечает за активность дисплея. Это касается как блокировки запуска скринсейвера, так и подавления таймера отключения монитора при бездействии, если в нем есть такая функция. Флаг ES_AWAYMODE_REQUIRED в основном используется мультимедийными приложениями для выполнения своих фоновых задач, обычным приложениям он вряд ли потребуется. Флаг ES_CONTINUOUS фиксирует состояние активности системы до следующего вызова функции с этим флагом и комбинацией других флагов.

Для разных задач использование SetThreadExecutionState может отличаться. Например, если ваше приложение должно оставаться активным только на время продолжительного выполнения какого-нибудь критического участка кода, то перед его началом надо зафиксировать состояние запрета перехода системы в спящий режим, а после окончания этот запрет снять.
  1.         ; Установить состояние постоянной активности системы и монитора
  2.         invoke  SetThreadExecutionState,ES_CONTINUOUS+ES_SYSTEM_REQUIRED+\
  3.                 ES_DISPLAY_REQUIRED
  4.  
  5.         ; Тут выполняется какой-то очень важный процесс, который
  6.         ; нельзя прерывать
  7.  
  8.         ; Сбросить состояние постоянной активности
  9.         invoke  SetThreadExecutionState,ES_CONTINUOUS
Для снятия запрета надо вызвать функцию SetThreadExecutionState с единственным флагом ES_CONTINUOUS. Теперь система может спокойно запускать скринсейвер, переходить в спящий режим, понижать частоту процессора при простое и т.п.

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

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