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

Как узнать, что приложение запущено через ярлык
29.11.2020 | Категория: Образ мышления: Assembler | Автор: ManHunter
Очередная развлекушка на Ассемблере. Давайте узнаем, была ли наша программа запущена через .lnk-файл, то есть через ярлык, или же напрямую через Проводник, файловый менеджер или другой процесс. Для этого надо получить структуру STARTUPINFO, а затем проверить, установлен ли флаг STARTF_TITLEISLINKNAME в поле dwFlags.Code (Assembler) : Убрать нумерацию
- STARTF_TITLEISLINKNAME = 0x800
- ; Получить информацию запуска
- mov [sinfo.cb],sizeof.STARTUPINFO
- invoke GetStartupInfo,sinfo
- ; Флаг установлен?
- test [sinfo.dwFlags],STARTF_TITLEISLINKNAME
- jz @f
- ; Да, запуск выполнен через ярлык
- ...
- @@:
- ; Нет, прямой запуск
- ...
Читать статью целиком »
Просмотров: 244 | Комментариев: 0

Запеканка из кабачков
26.11.2020 | Категория: А еще я туда ем! | Автор: ManHunter

Запеканка из кабачков
Вам родственники тоже нагрузили кабачков со своих огородов? Не знаете куда их девать? Предлагаю отличный рецепт запеканки из кабачков с овощами. Запеканка готовится просто, на вкус замечательная, а главное, облегчает стратегические кабачковые запасы :)
Читать статью целиком »
Просмотров: 268 | Комментариев: 1

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

Скриншот программы WinDowzer
Программа показывает полезную системную информацию о диалоговом окне или элементе интерфейса, которые находятся под курсором мыши: хэндл окна, родительское окно, размер окна, название класса, стили, адреса процедур обработки, пользовательские данные, родительское приложение. Поддерживается юникод. Программ такого типа чуть более чем много, но среди всего этого изобилия так и не нашлось программы с нужным мне функционалом. Поэтому пришлось делать ее самому. Для тех, кто не читает документацию: перехват включается и выключается по горячей клавише Alt+Ctrl+W.
Читать статью целиком »
Просмотров: 13002 | Комментариев: 38

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

Перемешивание массива на JavaScript
Несмотря на особенности сортировки массивов в JavaScript, которые нашли отражение даже в интернет-мемах, без этой самой сортировки не обойтись. Случайное перемешивание массива - тоже своеобразный вариант сортировки. Для его реализации в этих ваших интернетах обычно рекомендуют воспользоваться следующим или каким-то подобным кодом:
Code (JavaScript) : Убрать нумерацию
- var test_array=[1,2,3,4,5,6,7,8,9,10];
- test_array.sort(
- function() { return (Math.random()-0.5); }
- );
- // test_array -> перемешанный массив
Читать статью целиком »
Просмотров: 259 | Комментариев: 1

Как получить текст под курсором
18.11.2020 | Категория: Образ мышления: Assembler | Автор: ManHunter
Технология Microsoft Active Accessibility предназначена для взаимодействия различных устройств типа экранных читалок с объектами на экране, чтобы облегчить работу с компьютером людям с ограниченными физическими возможностями. При помощи Microsoft Active Accessibility, например, можно узнать, над каким элементом экрана находится курсор мыши, а также получить тип и содержимое этого элемента. Этим мы и воспользуемся, чтобы получить текст под курсором.С технологией MSAA мы уже познакомились в статье про перехват Alt+Tab, только не заостряли внимание, что это именно она. Зато не придется дублировать структуры и интерфейсы, они уже описаны в статье по ссылке. Поэтому сразу переходим к программированию.
Code (Assembler) : Убрать нумерацию
- ; Получить координаты курсора
- invoke GetCursorPos,curs
- ; Получить объект под курсором
- invoke AccessibleObjectFromPoint,[curs.x],[curs.y],pAcc,varChild
Code (Assembler) : Убрать нумерацию
- ; Получить роль объекта под курсором
- mov [role.vt],VT_I4
- push role
- mov eax,varChild
- push dword [eax+0Ch]
- push dword [eax+08h]
- push dword [eax+04h]
- push dword [eax]
- mov eax,[pAcc]
- mov eax,[eax]
- stdcall dword [eax+IAccessible.get_accRole],[pAcc]
- ; [role.lVal] -> код роли объекта (кнопка, полоса прокрутки, текст и т.п.)
Читать статью целиком »
Просмотров: 244 | Комментариев: 0
