![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определить консольное приложение
Gu © (2010-11-08 06:13:00)Как определить что исполняемый файл является консольным приложением? Например cmd.exe
Anatoly Podgoretsky (2010-11-10 16:36:00) [1]> Gu (10.11.2010 15:54:18) [18]
Нафиг нужен TJvCreateProcess, когда есть штатная функция CreateProcess
Gu (2010-11-10 15:54:00) [2]конечно плохое, я бы не спрашивал если бы хорошее было. это значит тут у всех ветер, кто вопросы задает? ;) не все же как вы гуру.
..есть бесплатные компоненты Jedi-vcl, так вот там есть TJvCreateProcess, и хороший экзампл к нему, как раз с перехватом консольного ввода вывода. там вот все отлично, но вот выше пример с rar32 не прокатывает.
Anatoly Podgoretsky (2010-11-10 15:42:00) [3]
> что вас наводит на мысли о ветре? :)
> реализовывать: перехват обычного текста, ок, работает, но
> как только открывается что-то типа консольного rar32, который
> при архивации позиционирует курсор, когда % выводит, получается
> бяка на экране
Плохое знание предмета.
А бяка - значит ошибка в программе.
Gu (2010-11-10 15:09:00) [4]или "mz?", короче можно отличить
Gu (2010-11-10 15:08:00) [5]MZP
clickmaker (2010-11-10 15:06:00) [6]> дос можно по MZ в начале файла определять
открою страшную тайну: у "не дос" тоже MZ в начале файла.
Gu (2010-11-10 15:04:00) [7]2 Германн
я и не путаю. дос можно по MZ в начале файла определять, но благо дос уже в вин7 не открываются и про них можно забыть. интересуют только вин32-64
2 Anatoly
что вас наводит на мысли о ветре? :)
реализовывать: перехват обычного текста, ок, работает, но как только открывается что-то типа консольного rar32, который при архивации позиционирует курсор, когда % выводит, получается бяка на экране
Anatoly Podgoretsky (2010-11-10 09:15:00) [8]
> Gu (10.11.10 01:56) [9]
Ну у тебя и ветер в голове.
> как быть с псевдографикой и цветным выводом строк
Чего думать - реализовывать, благо консоль это поддерживает.
Германн (2010-11-10 02:28:00) [9]
> Gu (10.11.10 01:56) [9]
Не надо путать ДОС-приложение с "консольным приложением" даже если и то и другое выглядят одинаково.
Германн (2010-11-10 02:16:00) [10]
> Gu (10.11.10 01:56) [9]
>
> просто вопрос в том, чтобы точно знать, что запускаемый
> файл им является, соответственно и потом перехватывать его
> консольный вывод. если окна создает, пусть, главное чтобы
> консольный вывод не мелькал в отдельном окошке, а перенаправлялся
> в мемо например.
> еще вопрос: как быть с псевдографикой и цветным выводом
> строк? может быть есть еще какой-то флаг, который говорит
> о не обычном выводе текста? например цветного или что используеца
> позиционирование курсора?
Если уж речь зашла о "псевдографике", то я вам не завидую.
И "консольное приложение" тут не при чём.
Gu (2010-11-10 01:56:00) [11]просто вопрос в том, чтобы точно знать, что запускаемый файл им является, соответственно и потом перехватывать его консольный вывод. если окна создает, пусть, главное чтобы консольный вывод не мелькал в отдельном окошке, а перенаправлялся в мемо например.
еще вопрос: как быть с псевдографикой и цветным выводом строк? может быть есть еще какой-то флаг, который говорит о не обычном выводе текста? например цветного или что используеца позиционирование курсора?
Anatoly Podgoretsky (2010-11-09 15:09:00) [12]> Германн (09.11.2010 14:54:07) [7]
В детский садик
Германн (2010-11-09 14:54:00) [13]
> До каждого дойдем, нам каждый важен
И всех в сад.
Anatoly Podgoretsky (2010-11-09 14:38:00) [14]
> Перепись exe файлов ;)
До каждого дойдем, нам каждый важен.
Slym (2010-11-09 14:21:00) [15]Я, приложение:
1. Консольное
2. Гуевое
3. Безмордое
4. Би или три... Конгуйное или Гуйконое, Безгуйконое
Dennis I. Komarov (2010-11-09 13:53:00) [16]
> А зачем?
Перепись exe файлов ;)
DiamondShark (2010-11-08 10:49:00) [17]
> Gu (08.11.10 06:13)
А зачем?
Не, флажок в заголовке исполняемого файла, конечно, есть. Но это чистая условность.
Никто не мешает ни консольному приложению создать окна, ни оконному приложению создать консоль.
Leonid Troyanovsky (2010-11-08 07:17:00) [18]
> Gu (08.11.10 06:13)
> Как определить что исполняемый файл является консольным
> приложением?
SHGetFileInfo with SHGFI_EXETYPE.
--
Regards, LVT.
Slym (2010-11-08 07:16:00) [19]Ты будешь удивлен...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Forms;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
AllocConsole;
Writeln('Hello World!');
end;
end.