Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.30;
Скачать: CL | DM;

Вниз

Определить консольное приложение   Найти похожие ветки 

 
Gu   (2010-11-08 06:13) [0]

Как определить что исполняемый файл является консольным приложением? Например cmd.exe


 
Slym ©   (2010-11-08 07:16) [1]

Ты будешь удивлен...
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.


 
Leonid Troyanovsky ©   (2010-11-08 07:17) [2]


> Gu   (08.11.10 06:13)

> Как определить что исполняемый файл является консольным
> приложением?

SHGetFileInfo with SHGFI_EXETYPE.

--
Regards, LVT.


 
DiamondShark ©   (2010-11-08 10:49) [3]


> Gu   (08.11.10 06:13) 

А зачем?
Не, флажок в заголовке исполняемого файла, конечно, есть. Но это чистая условность.
Никто не мешает ни консольному приложению создать окна, ни оконному приложению создать консоль.


 
Dennis I. Komarov ©   (2010-11-09 13:53) [4]


> А зачем?

Перепись exe файлов ;)


 
Slym ©   (2010-11-09 14:21) [5]

Я, приложение:
1. Консольное
2. Гуевое
3. Безмордое
4. Би или три... Конгуйное или Гуйконое, Безгуйконое


 
Anatoly Podgoretsky ©   (2010-11-09 14:38) [6]


> Перепись exe файлов ;)

До каждого дойдем, нам каждый важен.


 
Германн ©   (2010-11-09 14:54) [7]


> До каждого дойдем, нам каждый важен

И всех в сад.


 
Anatoly Podgoretsky ©   (2010-11-09 15:09) [8]

> Германн  (09.11.2010 14:54:07)  [7]

В детский садик


 
Gu   (2010-11-10 01:56) [9]

просто вопрос в том, чтобы точно знать, что запускаемый файл им является, соответственно и потом перехватывать его консольный вывод. если окна создает, пусть, главное чтобы консольный вывод не мелькал в отдельном окошке, а перенаправлялся в мемо например.
еще вопрос: как быть с псевдографикой и цветным выводом строк? может быть есть еще какой-то флаг, который говорит о не обычном выводе текста? например цветного или что используеца позиционирование курсора?


 
Германн ©   (2010-11-10 02:16) [10]


> Gu   (10.11.10 01:56) [9]
>
> просто вопрос в том, чтобы точно знать, что запускаемый
> файл им является, соответственно и потом перехватывать его
> консольный вывод. если окна создает, пусть, главное чтобы
> консольный вывод не мелькал в отдельном окошке, а перенаправлялся
> в мемо например.
> еще вопрос: как быть с псевдографикой и цветным выводом
> строк? может быть есть еще какой-то флаг, который говорит
> о не обычном выводе текста? например цветного или что используеца
> позиционирование курсора?

Если уж речь зашла о "псевдографике", то я вам не завидую.
И "консольное приложение" тут не при чём.


 
Германн ©   (2010-11-10 02:28) [11]


> Gu   (10.11.10 01:56) [9]

Не надо путать ДОС-приложение с "консольным приложением" даже если и то и другое выглядят одинаково.


 
Anatoly Podgoretsky ©   (2010-11-10 09:15) [12]


> Gu   (10.11.10 01:56) [9]

Ну у тебя и ветер в голове.

> как быть с псевдографикой и цветным выводом строк

Чего думать - реализовывать, благо консоль это поддерживает.


 
Gu   (2010-11-10 15:04) [13]

2 Германн
я и не путаю. дос можно по MZ в начале файла определять, но благо дос уже в вин7 не открываются и про них можно забыть. интересуют только вин32-64

2 Anatoly
что вас наводит на мысли о ветре? :)
реализовывать: перехват обычного текста, ок, работает, но как только открывается что-то типа консольного rar32, который при архивации позиционирует курсор, когда % выводит, получается бяка на экране


 
clickmaker ©   (2010-11-10 15:06) [14]

> дос можно по MZ в начале файла определять

открою страшную тайну: у "не дос" тоже MZ в начале файла.


 
Gu   (2010-11-10 15:08) [15]

MZP


 
Gu   (2010-11-10 15:09) [16]

или "mz?", короче можно отличить


 
Anatoly Podgoretsky ©   (2010-11-10 15:42) [17]


> что вас наводит на мысли о ветре? :)
> реализовывать: перехват обычного текста, ок, работает, но
> как только открывается что-то типа консольного rar32, который
> при архивации позиционирует курсор, когда % выводит, получается
> бяка на экране

Плохое знание предмета.
А бяка - значит ошибка в программе.


 
Gu   (2010-11-10 15:54) [18]

конечно плохое, я бы не спрашивал если бы хорошее было. это значит тут у всех ветер, кто вопросы задает? ;) не все же как вы гуру.

..есть бесплатные компоненты Jedi-vcl, так вот там есть TJvCreateProcess, и хороший экзампл к нему, как раз с перехватом консольного ввода вывода. там вот все отлично, но вот выше пример с rar32 не прокатывает.


 
Anatoly Podgoretsky ©   (2010-11-10 16:36) [19]

> Gu  (10.11.2010 15:54:18)  [18]

Нафиг нужен TJvCreateProcess, когда есть штатная функция CreateProcess



Страницы: 1 вся ветка

Текущий архив: 2011.01.30;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.009 c
15-1287159733
VirEx(home)
2010-10-15 20:22
2011.01.30
чат mailslot домен нагрузка


11-1196774637
terc
2007-12-04 16:23
2011.01.30
подскажите как добавить kol компонент в lazarus


2-1289455404
lehich
2010-11-11 09:03
2011.01.30
заголовок окна


15-1287145661
неокубинец
2010-10-15 16:27
2011.01.30
Acer или не Acer?


2-1289654665
mfender
2010-11-13 16:24
2011.01.30
Record и память