Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизОдна консоль на двоих и много на одного Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c