Рубрика «win32» - 2

Приветствую всех, кому стало интересно узнать о моем небольшом проекте, которым занимаюсь в свободное от работы время, о своем долгоиграющем проекте под названием «tengine».

Какова же цель этого поста? Ответ простой — я ищу однодумцев. Я верю в то, что есть еще много людей, которым нравится славный и добрый олдскул. В этом и вся миссия — писать удовольствия ради что-то маленькое, но вполне функциональное, платформу для «приставочных» игрушек в стиле 8/16 бит.

Главная особенность, отличающая tengine от сотен подобных поделок — не совсем стандартная идеология:

  • архитектура проекта делает упор на минимизацию использования динамической памяти. Если память и выделяется, она выделяется исключительно на инициализации подсистем
  • использовать динамическую память нужно так, как будто не существует операционной системы, постоянно помнить о фрагментации. Удаление памяти происходит в строго обратном порядке создания (за этом следит простой механизм контроля удаляемых указателей)
  • использование сторонних библиотек сведено к минимуму и должно быть аргументировано, зачастую это потенциальный источник фрагментации памяти
  • игровая сцена представляет собою готовую для использования память, сгенерированная редактором уровней
  • работа с объектами сцены игры ведется исключительно через идентификаторы, динамически создать объект невозможно
  • использование fixed point вместо float
  • мультиплатформенность
  • официальный язык проекта — си

Читать полностью »

Разрегистрация оконного крюка
Холмс. А скажите, друг мой Ватсон, доводилось ли Вам разрегистрировать оконный крюк, в особенности глобальный?

Ватсон. Хм… что же может быть проще, дорогой Холмс.

    ::UnhookWindowsHookEx( hhookMy);

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

В. Вот, ничего себе! Читать полностью »

Exactmouse — точная мышь + цвет с экрана

Exactmouse — это программа, которая поможет вам использовать возможности вашей мыши на 100%

Эта программка создавалась для собственных нужд. Очень давно, в далёком 2004 году. Написана на чистом ассемблере, используется синтаксис и сборщик TASM. Идею предложил Александр Куклев, а программировал Евгений Иванов. Большую часть текста писал Александр.

Будучи скомпилированной, она занимает 100 Кб кода. Работает быстро, памяти требует мало.

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

Несколько месяцев назад я купил оптическую мышь с боковыми клавишами, однако применения боковым клавишам найти не смог. И тогда я решил написать программку, которая бы помогла задействовать наиболее полезным образом.
Можно использовать и мыши без боковых кнопок, а обычные мыши с двумя кнопками и колёсиком (центральной кнопкой) — при этом всё будет работать с тем же успехом.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js