Windows на одной дискете


Подготовка doswin32 к работе - часть 3


Два языковых комплекта на системной дискете совершенно ни к чему и от одного из них можно избавится. От русского. Английский лучше оставить на случай проблем с русификатором.

Как вариант, эти файлы можно "выдрать" из ранее установленного дистрибутива. Для сохранения своих настоек запустите SaveSettings.bat (входит в штатную поставку FAR'а). На диске образуется два файла: FarSave1.reg и FarSave2.reg. Объединяем их в один: удаляем из FarSave2.reg строку "REGEDIT4" и копируем остаток внутрь FarSave1.reg размещая его между "REGEDIT4" и "[HKEY_CURRENT_USER\Software\Far]". Берем "dw32reg.exe" (входит в комплект "дополнительных системных утилит", поставляемых вместе с doswin32) и запускаем его: "dw32reg.exe /C FarSave1.reg". Образуется файл "DOSWIN32.RGD", который мы копируем в одну директорию с doswin32.exe. Это и будет нашим реестром, с которым станет работать FAR.

Большинство win32-программ из FAR'а не запускаются, поскольку практически все exe сейчас собираются без релокаций и претендуют на память уже занятую FAR'ом. Приходится каждый раз выходить из FAR'а, запуская их из чистой командной строки. Галимо, конечно, но терпимо (текущий каталог при этом сохраняется). Обойти программу можно перебазированием FAR'а. Для этого нам понадобиться утилита rebase.exe, входящая в состав MS Visual Studio и Platform SDK, а запускается она так: "rebase -b 0x80000000 far.exe". В нормальных условиях адрес 80000000h

занят операционной системой и никогда не выделяется прикладным приложениям, поэтому никаких конфликтов с запускаемыми программами под doswin32 не возникает. Такой файл будет запускаться и под Windows NT, которая автоматически переместит его в свободный регион. С Windows 9x

имеются определенные проблемы (этот адрес занят совместно используемыми memory-mapped файлами) и лучше зачеркнуть два нуля, перебазировавшись на 0x800000, но тут возможны конфликты с уже загружаемыми




Начало  Назад  Вперед



Книжный магазин