Консультация № 59124
16.10.2006, 16:22
0.00 руб.
0 3 3
Может вы мне подскажете. Вопрос не совсем по языку сколько по написанию. Я использую far Manager. Но проблема в том, что бывают случаи когда при запуске какой-нибудь дос проги после ее выполнения нет обратного возврата в оболочку far. Например, если просто запустить tlink без параметро, то в консоль будет выдана справка по параметрам и возврат в оболочку far не произойдет все повиснет в консоли. Если опять набрать far, то в системе будут два процесса, причем второй будет в фоне. Это не только касается tlink-а, но и некоторых других дос программ. Хотелось бы знать: во - первых почему это происходит, во - вторых как с этим боротся. Или хотя бы как из консоли вызвать консоль, но в новом окне.

Обсуждение

Неизвестный
16.10.2006, 16:40
общий
это ответ
Здравствуйте, Oxaid!

Far при запуске программ - запускает программу в своей консоли. Tlink при работе запускает программку DPMILOAD.exe, которая некорректно (с точки зрения Windows) завершается. Виндовс при этом ожидает код возврата из программы. Так и получается - ожидание завершения программы, которая уже завершилась.

Из консоли вызвать консоль можно "командой" start, например:
Start tlink.exe /at myprog.obj
давно
Посетитель
7438
7205
16.10.2006, 17:17
общий
это ответ
Здравствуйте, Oxaid!
Дополню эксперта ADSota
Tlink будет нормально завершаться, если вызывать из батника
tasm file.asm
tlink file.obj

Если tlink запущен сам по себе, то чтобы вернуться из консоли в Far, можно прибить оставшуюся виртуальную машину - процесс NTVDM.EXE
kill ntvdm.exe
Единственно только, необходимо, чтобы был запущен только один процесс ntvdm.exe
Утилитку kill.exe прилагаю
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
16.10.2006, 18:43
общий
это ответ
Здравствуйте, Oxaid!
Идем в каталог \windows\system32 и находим там файл CONFIG.NT. Открываем в текстовом редакторе (в том же фаре), находим строчку
REM NTCMDPROMPT
убираем REM, читаем что написано ниже:
REM When you return to the command prompt from a TSR or while running an
REM MS-DOS-based application, Windows runs COMMAND.COM. This allows the
REM TSR to remain active. To run CMD.EXE, the Windows command prompt,
REM rather than COMMAND.COM, add the command ntcmdprompt to CONFIG.NT or
REM other startup file.
p.s. тут REM убирать не надо, это комментарий :)
Форма ответа