Blog. Just Blog

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

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

HtmlHelp Wrapper 2.2

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

Скриншот программы HtmlHelp Wrapper

HtmlHelp Wrapper - это программа-обертка для открытия .CHM-файлов и .HLP-файлов из командных файлов или приложений. От обычной утилиты HtmlHelp, которая идет в комплекте Windows, эта программа отличается тем, что при открытии файла справки позволяет искать ключевые слова, а для CHM-файлов дополнительно автоматически синхронизировать список ключевых слов и открытой статьи, а также открывать более одной копии справки для отдельного приложения и закрывать открытую справку по нажатию Esc. Есть возможность открывать файлы справки с именами в юникоде. Кроме своих функций и параметров запуска, поддерживаются все стандартные ключи утилиты HtmlHelp, поэтому можно заменить файл hh.exe в папке Windows на HtmlHelp Wrapper (не забывайте про резервные копии). Для более корректной установки без модификации системы лучше воспользоваться прилагаемыми пакетными файлами.

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

Кроссбраузерное получение и установка выделения в INPUT

10.10.2021 | Категория: Web-мастеру и не только | Автор: ManHunter
Шпаргалка для себя, чтобы не искать. Набор полезных функций для работы с полями ввода, такими как TEXTAREA и INPUT TYPE="TEXT". С помощью этих функций можно узнать, какой фрагмент текста выделен или же наоборот, выделить текст заданной длины с определенной позиции.

Функция получения границ выделения в поле ввода. В качестве параметров передается элемент поля ввода, на выходе объект с значениями начальной и конечной позиции выделения.
  1. //---------------------------------------------------------
  2. // Получение границ выделения в поле ввода
  3. //---------------------------------------------------------
  4. function get_selected_input(el) {
  5.     var pos={start:0end:0};
  6.  
  7.     if (el.selectionStart) {
  8.         // Mozilla + Opera + Chrome + Safari
  9.         pos={
  10.             startel.selectionStart,
  11.             endel.selectionEnd
  12.         };
  13.     }
  14.     else {
  15.         // IE
  16.         if (document.selection) {
  17.             var sel=el.createTextRange();
  18.             sel.moveToBookmark(document.selection.createRange().getBookmark());
  19.  
  20.             var before el.createTextRange();
  21.             before.collapse(true);
  22.             before.setEndPoint('EndToStart'sel);
  23.  
  24.             pos={
  25.                 startbefore.text.length,
  26.                 end: (before.text.length sel.text.length)
  27.             };
  28.         }
  29.     }
  30.     return pos;
  31. }
Функция установки выделения в поле ввода. В качестве параметров передается элемент поля ввода, позиция начала и конца выделения.
  1. //---------------------------------------------------------
  2. // Установка границ выделения в поле ввода
  3. //---------------------------------------------------------
  4. function set_selected_input(el,start,end) {
  5.     // Корректировка границ
  6.     if (start>end) {
  7.         var tmp=start;
  8.         start=end;
  9.         end=tmp;
  10.     }
  11.  
  12.     if (el.selectionStart) {
  13.         // Mozilla + Opera + Chrome + Safari
  14.         el.setSelectionRange(start,end);
  15.     }
  16.     else {
  17.         // IE
  18.         var sel=el.createTextRange();
  19.         sel.collapse(true);
  20.         sel.moveStart('character',start);
  21.         sel.moveEnd('character', (end-start));
  22.         sel.select();
  23.     }
  24.     return true;
  25. }
Кроме этих сюда же можно отнести еще несколько функций для работы с полем ввода и выделенным текстом. Чуток не в тему, но очень близко, тем более, что чаще всего они используются в связке.

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

Как открыть запароленный дневник Punto Switcher

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

Как открыть запароленный дневник Punto Switcher

Punto Switcher - популярная программа для автоматического переключения раскладки при наборе с клавиатуры. Кроме основной функции у нее есть приятный бонус - так называемый "дневник", в который записываются все набираемые пользователем строки, а также указываются приложения, в которых эти строки были набраны. Ничего не напоминает? Да-да, это именно кейлоггер, причем совершенно легальный. Чтобы скрыть записи в дневнике, на него можно установить пароль. А как быть, если пароль случайно забыли или хочется полюбопытствовать на чужом компьютере?

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

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 оно точно не реагирует.

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

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

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

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

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

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

prev 01 02 03 04 05 06 07 08 09 ... 337
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2021
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.1 сек. / MySQL: 2 (0.0254 сек.) / Память: 4.75 Mb
Наверх