Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.01.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.003 c
2-1289307984
Faiwer
2010-11-09 16:06
2011.01.30
Destroy


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


15-1286732325
Сергей
2010-10-10 21:38
2011.01.30
Литература для начинающих


2-1289650085
istok
2010-11-13 15:08
2011.01.30
мониторинг принтеров на delphi..


15-1287260945
Юрий
2010-10-17 00:29
2011.01.30
С днем рождения ! 17 октября 2010 воскресенье





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский