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

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

Запуск консольного приложения [D5, D6, Win2k]


Alexander Kytzenko ©   (2003-04-30 12:38:00) 

Уважаемые программисты! Подскажите как из своей программы запустить консольное приложение так чтобы оно не отображалось на экране.


Proton   (2003-05-01 00:39:00) [1]

2MainKaif
неверно, в тексте вопроса не указанно что консольное приложение написанно автором вопроса, более того я на 40% уверен что это какой нить архиватор.
2Alexander Kytzenko
например
procedure TForm1.Button1Click(Sender: TObject);
var si:STARTUPINFO;
pi:PROCESS_INFORMATION;
xc:cardinal;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
si.wShowWindow := SW_HIDE;
si.dwFlags := STARTF_USESHOWWINDOW;

CreateProcess(nil,
{$ifdef home}
PCHAR("rar32 a test.zip "+"C:\Video\nge\nge-01.viv")
{$else}
PCHAR("rar32 a test.zip "+Application.EXENAME)
{$endif}
,nil,nil,false,NORMAL_PRIORITY_CLASS,nil,nil,si,pi);
CloseHandle(Pi.hThread);
with tanimate.Create(self) do
begin
Parent := self;
Align := alClient;
BringToFront;
CommonAVI := aviCopyFiles;
Active := True;
StopFrame := 34;
while WaitForSingleObject(Pi.hProcess, 10) = WAIT_TIMEOUT do
Application.ProcessMessages;
free;
end;
if GetExitCodeProcess(Pi.hProcess,xc) then
showMessage(inttostr(xc));
CloseHandle(Pi.hProcess);
end;


MainKaif   (2003-04-30 23:10:00) [2]

Если тебе надо написать просто приложение которое просто не будет видно на экране. Можно сделать следующее.
1. Просто спрятать форму. Например присвоить свойству Top 1000

2.Делаешь консольное приложение, а потом в начале главного модуля меняешь тип приложения с "console" на "gui".


nikkie   (2003-04-30 13:06:00) [3]

CreateProcess с параметром SW_HIDE.


Наверх

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