Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Определить консольное приложение


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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо