Pull to refresh

Comments 59

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

На сегодняшний день понимание и умение писать гуй на чистом вин32 приравнивается к колдовству..

А толку? Шеккелей в карманах это не прибавляет.

Что в общем таковым и является при отсутствии сорцов вменяемой документации, объясняющей, например,на кой бес обработчик некоторых действий с контролом нужно отдавать не самому контролу, а его родителю, ну и многое другое, познающееся имключительно опытом и усидчивостью.

С предыдущей работы, когда там лишнее выкидывали, мне достались книги по WinApi для Win3.1. Там все было расписано гораздо подробнее, чем в более новых книгах по тому же (суть не изменилась) WinApi для 32-битных Windows.

так контрол не является самостоятельным оконным объектом для ОС и как следствие никаких персональных сообщени от операционки не получает. Теоретически конечно можно было бы делать каждую кнопку как окно, но тогда быстро бы выелся глобальный ресурс на оконные хэндлы в операционке, их кажется было оченьм мало, не более 8к, а в первых виндах может и меньше.

Мм, но ведь у каждого контрола свой хендл и так (HWND), нет? Да и обработчики должны отдаваться именно родителю, причем неважно какому, окну или другому контролу-композиту. При работе со списками/таблицами это пьет кровь только так.

Ну да, Win32 как был диким лесом, так и остался. Там реально без заклинаний в голову не укладывается, почему всё ещё так работает

та не, там как раз все логично было сделано, но от этого не становилось менее больно. В MSDN все что надо было.

С точки зрения ОС, любое окно это черный ящик в который шлются сообщения про движение мышки над ним, про нажатые кнопки, и про то, что содержимое какой-то части окна (прямоугольник) была затерта другим окном и его надо перерисовать. Сама винда перерисовывала только содержимое прямоугольника под указателем мыши, а все остальное - делайте сами вручную, даже если просто сдвинуть окно целиком - то перерисовка содержимого это задача самого окна. Практические чистый объектный подход в стиле smalltalk.

Не удивлюсь, если уже в этой винде данное апи было легаси из полуоси.

А я удивлюсь, винда 1 версии на год старше первой полуоси...и ещё вопрос кто от кого там легаси в плане кода ui

На сегодняшний день понимание и умение писать гуй на чистом вин32 приравнивается к колдовству.

Для генерации кусков кода можно вполне использовать ИИ.

Извините, но конкретно в этом случае минус на минус даст минус в квадрате, а не плюс.

Я имел ввиду, что ИИ можно применять в качестве умного поисковика нужных api-функций и сообщений с генерацией примеров, то есть лишь помогать строить "скелет".

Для пробы я уже делал запрос на простейший win-api редактор с функцией осохранения - полученный код был очень похож на правду.

Спасибо за ностальгичную статью! Никогда не имел дел с первой виндой, и благодаря вашей статье всё же решил попробовать. Это реально круто и интересно!

На фотографиях вижу знакомые платы ;). Рад, что пошли в дело :).

Да, тоже был рад запустить. Спасибо за такой подгон.

Ради интереса загуглил, сколько стОит на авито эта самая ROCKY-328E-M4. Мда уж ;)

Хех. На самом деле его заметно дешевле можно найти. Но надо будет специально мониторить объявления.

Конкретно у этого продавца плюс в том, что он может продать компании по счёту, в некоторых случаях это критически важно.

В целом такие платы (если специально искать в течение пары месяцев) можно купить за пять-шесть тысяч.

Не надо пытаться найти конкретную модель, лучше поискать промышленные платы, промышленный компьютер, одноплатный компьютер и т.п. В целом ценник у них 3-6 тысяч. И они, не сказать, что особо кому-то нужны. Не супер редкость.

на х86 архитектуре довольно таки редкость. почти все на арм перешли

почти все на арм перешли

Потому-то на X86 сейчас и можно купить. Старые замещаются девайсами на ARM и постепенно списываются.

Я вас умоляю, вот буквально сегодня geod попалась за четыре тысячи. Надо просто терпения иметь.

Я вообще то про новые выпускаемые, а не про барахолку

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

Навскидку с более новыми процессорами сейчас выпускают, типа j1900.

Из архео сейчас выпускающихся я нашел только на Vortex86, хз пойдут ли на нем первые Виндовс. 15тыр примерно плата

хз пойдут ли на нем первые Виндовс

Скорее всего, да.

Вортекс86 - это 486, я с ним много работал. Там даже 98 винда вполне сносно будет работать.

Windows 95/98 это уже не древняя ОС, а по сравнению с DOS+WIN1.0 вполне современная и уже работала на процессорах с Protected Mode, а не Real Mode, как все, что было под дос, с присущими этому болями с памятью, двухсекционными указателями (near/far) итд.

UFO landed and left these words here

Кайфанул от того, насколько там всё деревянно было. Сейчас жалуемся на IDE, а тогда люди вручную PATH правили перед каждой сборкой

А че там на электроне вайбкодить нельзя было???

Блин. Я прочитал: Программирование Windows 10 в 2025 году. Не ожидал такого подвоха! Зачем сейчас писать программы под Windows1.0? Просто время своей жизни в пустую тратить.

Например, чтобы понимать, как писать программы, чтобы влезали в 256Кб памяти.

Или сравнимый объем на сегодняшний день.

А то уже совсем разучились, вон, даже проводник в 11 тормозит.

зачем уметь вбивать гвоздь в стену, ведь есть специальные люди?

Тот же вопрос, к людям которые тратят время на чтение хабра и написание комментария.

Прикол! Я думал, API по пути от 1.0 к Win95 изменился до неузнаваемости, а оказалось, что в реальности больше изменился язык (паскалевское объявление стековых переменных вместо более позднего объявления по месту режет глаз).

Это типы параметров функции.

Скажу по секрету, тогда в С можно было вообще типы переменных не указывать.

А-а-а! Точно, типы параметров. Не по глазам пришлось.

Прикол! Я думал, API по пути от 1.0 к Win95 изменился до неузнаваемости, а оказалось,

Это называется "обратная совместимость". О, да, для современных айтишников это "прикол".

О, да, для современных айтишников это "прикол"

И к чему это было сказано? Глядя на скриншоты Windows 1.0, трудно предположить, что под капотом привычная обработка сообщений и вывод графики через контексты устройств.

насколько я понимаю, там есть свои заморочки, когда винда работает в real mode

Какие современные айтишники нежные и обидчивые. Сразу заминусили.

Ох этот постмодерн, наконец-то люди начали возвращаться к технологиям 40 летней давности. Интересно посмотреть как на современном железе это всё работает, не первая уже статья, про кодинг на том софте и железе. Спасибо за статью, очень интересно, ждём новых историй!!!

Интересно посмотреть как на современном железе это всё работает

Увы, никак. Проверяли уже до меня:

С 1.0 у вас на самом деле проблемы будут уже начиная с ПК вроде P-II. Как минимум, потому что не будет работать PS/2 мышь (но оживёт, если подкинуть драйвер от Windows 2.03) и будут некоторые косяки с видеокартой. Такие ОС надо запускать либо на соответствующим эпохе машинам, либо на эмуляторах (Virtualbox/VMware тоже в полной мере не подойдут).

Это понятно, будут костыли как всегда, много ограничений слишком. USB только на P2 появилось и было не слишком быстро! Очень много вопросов)

Да вроде полноценно с P2 начинал, а потом на сокете super 7. Или я ошибаюсь?

Ну в тех чипсетах был USB 1.0. Это уже полноценный или ещё неа?

Я так и не попробовал флешку, софт ставился с дисков в основном или вытаскивал хард и тупо копированием быстрее.

Так-то USB уже на Socket 7 были. SiS 5596, i430VX и ещё какие-то чипсеты от VIA их поддерживали вообще с 1996 года, то есть по сути с момента начала распространения USB. Другое дело, что в те годы толку от него было чуть менее, чем никакого, поскольку всё подрубалось через COM/LPT/SCSI. Ну да, у меня на пеньке с материнкой Asus SP97-V была мышь в USB воткнута, потому что планка PS/2 там с нестандартным разъёмом, переходник за кучу лет так и не спаял, а какую-то более-менее нормальную крысу хочется.

У меня поскромнее были материнки) Socket-7 Lucky Star 5MVP3 rev 4.0

А что есть еще из ретро железа?

Да довольно немало всякого... Брендовая "четвёрка", несколько промПК, куча всякого уже из нулевых.

Мало статей у Вас по старому железу, а интересно посмотреть. У многих есть такое железо и ничего не пишут про него, интересно почитать. Помню легенду что K6-2+ или K6-III+ разгоняли в 2 раза, в холодильнике. Сейчас и охлад и пасты, да что там говорить азот есть. Интересно почитать! До чего техника дошла)

Тут проблема в том, что просто обзоры писать не хочется. Да и две трети того, что у меня есть, в интернете описано довольно хорошо.

А так, едва какая-то интересная идея будет, так напишу про это сразу.

Советские ПК, ZX Spec, Amiga,Commandor и другая экзотика. Много есть железок, но нет интересного описание и использование этих девайсов! Одни переводы заграничные или ИИ.)

Я по X86 в основном.

Хотя ваши слова меня натолкнули на то, чтобы пару штук продемонстрировать...

X86 это скучно, 99% это интелоподобные системы, экзотики не хватает!

Я не всё еще прочитал, очень много!)

Sign up to leave a comment.

Information

Website
timeweb.cloud
Registered
Founded
Employees
201–500 employees
Location
Россия
Representative
Timeweb Cloud