Вниз
Скачать: CL | DM;

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

← →
TUser ©   (2004-12-08 12:10) [0]

1. Можно ли сделать общюю консоль для двух процессов?
2. Можно ли сделать более одной консоли для одного процесса?
3. Если что-то из этого можно, то как?


← →
DiamondShark ©   (2004-12-08 12:50) [1]

1. Да
2. Нет
3. Для (1) -- породить один процесс из другого


← →
VMcL ©   (2004-12-08 12:54) [2]

В WinXP+ можно ещё обратить внимание на AttachConsole().


← →
TUser ©   (2004-12-08 13:44) [3]


> DiamondShark ©   (08.12.04 12:50) [1]
> 1. Да

Попробовал порождать один процесс от другого. Вот так
procedure TForm1.Button1Click(Sender: TObject);
begin
 if AllocConsole then
   writeln("i am first");
end;

procedure TForm1.Button2Click(Sender: TObject);
var sa:PSecurityAttributes;
   si:_STARTUPINFOA;
   pi:_PROCESS_INFORMATION;
begin
 if fileexists(edit1.Text) then begin

   fillchar(si,sizeof(si),#0);
   fillchar(pi,sizeof(pi),#0);
   si.cb:=sizeof(si);
   New(sa);
   fillchar(sa^,sizeof(sa^),#0);
   sa^.nLength:=sizeof(sa^);
   sa^.bInheritHandle:=true;
   CreateProcess(PAnsiChar(Edit1.Text),nil,nil,nil,true,0,nil,nil,si,pi);
   Dispose(sa);
   end;
end;

// Порождаемый процесс

procedure TForm1.Button1Click(Sender: TObject);
begin
 if AllocConsole then
   writeln("i am second");
end;


У Рихтера посмотрел про наследование описателей, но  там для объектов ядра - надо создавать его с нужными SecurityAttributes. Это понятно. А как сделать то же самое для консоли - при ее создании аттрибуды не указываются.


← →
TUser ©   (2004-12-09 10:15) [4]

up



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
1-1102677713
VAV
2004-12-10 14:21
2004.12.26
Конвертация HTML файла


14-1102159316
Труп Васи Доброго
2004-12-04 14:21
2004.12.26
Клиент форума "Magic Forum" 1.2


1-1103106265
fmaks
2004-12-15 13:24
2004.12.26
работа с Variant


3-1101887544
Guest_1
2004-12-01 10:52
2004.12.26
СУБД для малого проекта


6-1095098393
Реактор
2004-09-13 21:59
2004.12.26
Отправка SMS сообщений.




   Наверх