Взаимодействие с Dos приложением

  • Автор темы Lunina
  • Дата начала
L

Lunina

Гость
#1
трагичность ситуации в следующем:
есть запущенное DOS приложение. Я знаю только имя процесса, как определить hwnd и т.п. я пока не знаю :)
мне нужно определить считать из этого досовского приложения последнюю строчку и потом послать ему нажатие клавиши Enter.
помогите, люди добрые, заранее благодарна.
 
Z

zubr

Гость
#2
Если это чисто Досовское приложение, то ничего не получится, а если консольное Win-приложение, тогда можно.
 

yerke

Well-Known Member
28.08.2007
392
0
33
Алматы
#3
Если это чисто Досовское приложение, то ничего не получится, а если консольное Win-приложение, тогда можно.
а как сделать так чтобы
программка написанная на дельфи
находил уже запущенное консольное окно лотус сервера
и там вводил нужную команду и нажал на ентер
 
Z

zubr

Гость
#4
Никак. Твоя программа на Delphi должна запустить процесс лотуса, тогда можно.
 

yerke

Well-Known Member
28.08.2007
392
0
33
Алматы
#5
Никак. Твоя программа на Delphi должна запустить процесс лотуса, тогда можно.
такой вариант тоже пойдет
а как это сделать

Код:
program Domino_Logon;
//{$APPTYPE CONSOLE}
uses
Windows, Messages;

var
h: HWND;
s:string;
begin
h:=findwindow(nil, 'DominoServer/KazNPU: Lotus Domino Server');
if h = 0 then Exit;
ShowWindow(h, SW_RESTORE);
//
s:='tell http quit';
SendMessage(h, WM_SETTEXT, 0, longint(Pchar(s)));
SendMessage(h, WM_KEYDOWN, VK_RETURN, 0);


end.
'tell http quit' печатается в заголовке консольного окна домино
а мне нужно оно печатался в самом окне
 

yerke

Well-Known Member
28.08.2007
392
0
33
Алматы
#6
Надо захватывать у этого окна консольный (стандартный) ввод/вывод.
с примером конкретизировать можете

вообщем мне надо так сделать чтобы
при перезагрузке сервака
автоматический набирался пароль для домино
и был нажат ентер