Я с 16лет увлёкся созданием программ. Я много эксперементировал, и в результате мне удалось создать ряд программ, аналогов которым нет.
Началось всё с того, что я узнал о такой ос как KolibriOS, которую можно установить руками прямо из под Windows, скопировав файлы mtldr и Kolibri.img на диск C:, и запустив после этого bat файл. Сперва я автоматизировал процесс с помощью sfx архива, который создал с помощью программы winrar. На тот момент для меня это было открытие и мне пришлось почитать какую-то статью, как создаются эти архивы. О своей программе я рассказал знакомым, но все просто сказали что мне нечего делать, мол кому эта программа нужна. Потом я попробывал заменить kolibri.img, на другой образ дискеты, но уже с MS-DOS 5.0, но система по понятным причинам грузится не стала. После того как я задаля вопросом что не так, я пошел на один it форум, где мне объяснили что мол загрузчик mtldr грузит ядро(kolibri.mnt) KolibriOS, из образа Kolibri.img. Мне придложили использовать загрузчик Grub4dos и объяснили как настроить menu.lst. В bat файле я заменил mtldr, на grldr.mbr. Далее я скопировал grldr, grldr mbr, dos.ima и menu.lst, на диск "C:"(диск указывается в bat). И запустил bat файл. После перезагрузки я увидил загрузачное меню, в котором я запустил пункт MS-DOS 5.00(название этого пункта было указано в bat). Компьютер перезагрузился и запустился MS-DOS 5.00. Так как на тот момент я не умел работать с bat, я использовал sfx архив, который распоковывался в корень диска "C:", и запускал bat. Так-как мне нужно было убрать возможность выбора диска, я использовал скрытую распоковку. Проблемма была в том, что процесс установки был скрыт и это не есть хорошо. Поэтому я задал вопрос на форуме и нашёл решение этой программы.
Я создал bat файл который выводит надпись installin MS-DOS, а потом запускает sfx архив и ждёт когда процесс завершится, далее выводилась надпись finish и ставилась пауза. Несколько лет я изучал bat и доробатывал установщик. Итогом мне удалось создать bat файл который брал из первого пораметра тип установки а из второго букву диска. Под типом установки подразумевается использовать образ диска (dos.img) или использовать раздел на риальном диске. В случае выбора раздела, он форматировался в fat16, и на него копировались файлы MS-DOS и загрузчик Grub4dos, после чего Grub4dos добовлялся в загрузачное меню Windows. Menu.lst я больше не использова, так-как информацию я добавил в сам загрузчик, с помощью утилиты bootice. Так-же с помощью hex редактора я затёр нулями в самом grldr, упаминания о menu.lst, чтобы не дай бог этот файл не оказался в корне какого-нибудь диска и не сломал всю установку. Так-как к этому времени я все равно не умел программировать, мне пришлось взять самописный графический интерфейс от bootsect.exe, перебить надписи на кнопках, в RESTORATOR 2007, и название запускаймого файла и параметры, в hex редакторе. В результате получилась итоговая программа "MS-DOS FOR WINDOWS". Потом имея опыт создания программ без программирования я создал программу "MS-DOS BOOT FROM USB". Немного позже я наткнулся на проект otvdm и на его базе сделал эмулятор Windows 3.11 используя только "virtual think app" и bat to exe converter. Я эмулировал виртуальный диск "w:", с помощью "virtual think app". На этом диске находилась Windows 3.11. Для эмуляции сеанса MS-DOS, я использовал 3xvdm, который был основан на vdos.
За 6лет мне удалось создать хороший сайт, на котором я начал бесплатно раздавать DEMO версии программ и продавать полные версии. Так я привротил своё хобби по созданию программ из мусора в прибыльное дело.
P.S: на bat можно спакойной писать программы, и компелировать в exe, благодаря разным расширителям bat, и возможностям Rundll32. Графический интерфейс для таких программ можно сделать в "Auto PLAY Menu", данная программа не требует знания языков программирования, а освоить её можно посмотрев один раз видео инструкцию на Ютубе. Выводить прогресс работы консольных программ можно в WEB интерфейсе графического окна. Делается это очень просто, нужно подключить html файл, который будет перегружатся с интервалом 1с и перезаписывать его с помощью bat. Собрать такую программу в одном exe, можно с помощью виртуализации Virtual think app.
Из минусов создания программ таким образом, является то что на них лают антивирусы.