Главная Мультфильмы Видео Чат Telegram Wareznik Scripter Flash игры
Old Web Старый веб
. Добро пожаловать на old-web.com!
Новое Новости Журнал Форум Продукты Дизайн Гостевая  
Вернуться   Форум о старом интернете > Софт и игры > Программы
Регистрация Справка Пользователи Календарь

Программы Поиск, обзоры и обсуждения программ для любых задач.

Ответ
 
Опции темы
Старый Вчера, 13:56   #1
Программист в форточках
 
Аватар для tretdm
 
Регистрация: 22.06.2025
Адрес: Алтайский край, Россия
Сообщений: 134
Репутация: на пути к лучшему (18)
По умолчанию Насколько ли практично с нуля создавать графические приложения под Windows NT 3.x?

Windows NT 3.1, 3.5 и 3.51 - это те операционки, которые особенно были нужны разработчикам, поскольку обычная Windows с DOS была весьма капризной, чтобы делать под них любой софт.

Кооперативная многозадачность, однопоточность и общие ограничения DOS и Win16 ставили жирный крест на стабильности обычной Windows 3.x. У меня с Open Watcom IDE был неприятный опыт разработки - мало того, что на моменте сборки EXE-файла винда решила намертво зависнуть, так ещё и
сломала SYSTEM.INI вместе с файловой системой на корню.

С Microsoft Visual C++ 2.0, установленный на Windows NT 3.1, у меня особых нареканий нет, за исключением структуры проекта, сгенерированной AppWizard.

Обычно структура проекта выглядит следующим образом:
  • WinDebug/WinRelease - исполняемые файлы, файлы объектов и предварительно скомпилированных заголовков, необходимы для связки библиотеки или программы;
  • res - директория для размещения ресурсов программы;
  • Исходники и заголовки диалогов;
  • Исходники и заголовки фреймов и их активной области (если это SDI или MDI);
  • Исходники и заголовки класса приложения;
  • Прочий мусор, который оставляет AppWizard.
Это приводит к тому, что нет четкой иерархии - непонятно куда относить к диалогам, а куда к фреймам. Да, Microsoft в те года очень любила таким образом разбрасывать файлы налево и направо.

Ярким примером является Диспетчер файлов из Windows 3.x/NT, как на первом скриншоте. В исходниках там полная каша.

У меня только недавно пришла в голову мысль о том, что было бы неплохо написать MFC-приложение с нуля, не опираясь на бесстыжий AppWizard, и у меня даже получилось.

Вообще с такой чистой архитектурой, да еще и с поддержкой фреймворка MFC, можно будет и полноценный интернет-браузер написать, только в разы проще, чем шаблонным способом.

Приятно то, что большая часть функций MFC корректно работает даже на Visual C++ 2026 за исключением функции Enable3dControls. Она уже устарела, начиная с MFC 5.0, а вот функции из Win32 API по умолчанию задействуют аналоги из UTF-16, так что литера L перед кавычками обязательна.

В любом случае написание софта под такую древную систему 1993 года - увлекательное занятие.
Миниатюры
Нажмите на изображение для увеличения
Название: SCR_20260309_174610_VirtualBoxVM.png
Просмотров: 3
Размер:	20.3 Кб
ID:	570   Нажмите на изображение для увеличения
Название: SCR_20260309_174445_VirtualBoxVM.png
Просмотров: 2
Размер:	47.7 Кб
ID:	571  
__________________
Дмитрий Третьяков
Типичный программист в старых форточках.

Последний раз редактировалось tretdm, Вчера в 16:12.
tretdm вне форума   Ответить с цитированием
Старый Сегодня, 11:51   #2
Программист в форточках
 
Аватар для tretdm
 
Регистрация: 22.06.2025
Адрес: Алтайский край, Россия
Сообщений: 134
Репутация: на пути к лучшему (18)
По умолчанию

С таким же успехом можно и переключатель раскладки клавиатуры реализовать.

Раскладка переключается двумя стандартными методами из Win32 API - LoadKeyboardLayout и ActivateKeyboardLayout, а нужную раскладку надо будет вручную устанавливать через апплет Панели управления "International".

Несмотря на то, что стандартные шрифты не поддерживают кириллицу, их можно заменить через MS-DOS или добавить новые, поддерживающие Windows-1251 или Юникод (он же UTF-16).

Кстати, для Windows NT 3.51 из коробки существует официальная утилита KBDSEL.EXE, но она неудобна способом переключения раскладки. Чтобы переключиться на русскую раскладку, надо нажать на ALT+SHIFT слева, а обратно, на английскую - ALT+SHIFT справа.

Кто в Microsoft вообще придумали такой идиотский способ, непонятно.
Миниатюры
Нажмите на изображение для увеличения
Название: SCR_20260310_152336_VirtualBoxVM.png
Просмотров: 2
Размер:	43.1 Кб
ID:	574  
__________________
Дмитрий Третьяков
Типичный программист в старых форточках.
tretdm вне форума   Ответить с цитированием
Ответ



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложность с расшариванием файлов из Windows 10/11 на компьютер с Windows 98/XP. eriko Прочее 4 06.03.2026 14:19
Превращение Windows XP в Windows 98 eriko Операционные системы и драйвера 1 24.09.2025 15:51
IVAN TUMANOV CREATIONS - я создаю игры и делаю приложения EvanYamasaki Обсуждение сайтов 7 20.03.2025 06:26
Возможно ли одному создавать и наполнять сотни сайтов eriko Продвижение сайтов 12 08.09.2024 21:24


Часовой пояс GMT +3, время: 23:19.


Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot