Замешательство с ПОДКЛЮЧЕНИМ БИБЛИОТЕК

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

А в Win98, как я понимаю, файл cmd.exe отсутствует.
Там он просто по-другому называется.
command.com является командным процессором для MS-DOS и Windows 95/98.
Наверно самым правильным способом будет чтение буфера консоли. Тогда можно будет найти строку с командой запуска текущего приложения и узнать весь текст команды, включая возможные изменения потока.
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

WinMain, все-таки, интуитивно, это какой-то кривой способ... Фактически, ты предлагаешь (даже если удасться получить "полный" текст командной строки) написать лексический анализатор командной строки. И это притом, что способов перенаправления существует несколько. Кроме "одинарной угловой скобочки" это может быть и "двойная угловая скобочка", и "вертикальная черточка" (перенаправление через pipe). И все эти возмоджные способы надо анализировать. А если еще что-то существует или придумают?

Вот если бы была какая-нибудь API-функция, которая по хэндлу давала его характеристики, то, может, и можно было бы понять.
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

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