Comments 11
А в чем сакральный смысл применения двух уже практически неиспользуемых технологий WinAPI и asm в связке?
Как это WinAPI не используемая? Что, все используемые не поверх нее построены?
Вторя уже ответившему, многие десктопные фреймворки можно "хакать" просто влезая с уровня WinApi. Получаешь дескриптор окна, и декорируешь функцию обработчик своей оберткой. Хук так называемый.
Насколько я могу судить GUI строится на кастомных контролах фреймворка, использующих свою отрисовку. Так что да, можно получить дескриптор окна, но вот толку от него мало, ибо какие сообщения ловить и как их обрабатывать не очень понятно, в отличии от стандартных контролов, которые документированы, но в чистом виде уже практически не встречаются, поскольку выглядят устаревше.
P.S. Сам разрабатываю небольшой проект на WinAPI и С.
Так декоратор делает, что нужно, а остальное передается на обработку.
Из примера довольно простого, именно приведенный вами фреймворк, и в нем два тяжеленных контролла. Надо было скролы синхронизировать у 2х из них. Если пользоваться интерфейсом передачи этим контролам колбэка для вызова при скролле, то из-за тяжести внутреннего обработчика этих контролов, пока твой вызывался по эвенту, все выглядело тормознуто. Но хукнув обработчик, просто сначала синхронизировал положения скроллов, а потом уже вызывал обычный обработчик. Бантик, а приятно.
Конечно подводных в таких вещах хватает, я ни в коем случае не про хорошие практики, но имеют место быть, под час хорошо себя показывают.
Как сразу молодостью повеяло! Общага, виновс икспи, жена ещё не жена, лабы-курсачи, вот это всё, ммм...
Я могу понять зачем нужно изучать ассемблер х86 (не для обучения ассемблеру и архитектуре компьютера, разумеется). С дальнейшей специализацией на драйверах, сверхэффективных вычислениях, компиляторах и прочем низком уровне.
Я могу понять зачем изучать основы winapi (вот тут наоборот — только для освоения низкого уровня). С дальнейшим переходом на современные графические библиотеки вроде хотя бы gtk, а может sdl если нужно просто создать окно.
Но эти задачи противоположны. На winapi-gui вы не будете писать драйвер или компилятор. На ассемблере вы не будете писать программу с развесистым GUI. Бывают, конечно, любители ненормального программирования вроде разработчиков Колибри, но их мало и для них это хобби.
COKPOWEHEU Уважаемый, пока "профи" и "знатоки" предлагали всем классический подход - прикрутить либы и т.д. на Асме/Си для AVR, самому спаять программатор, нарисовать и собрать схему на рассыпухе, тем временем родился Ардуино для простолюдинов и что Вы можете возразить этому явлению?! Оно есть и кому-то нужно!
Примеры. WinAPI: Окна, типы (FASM)