Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Взаимодействие с Dos приложением
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - Система
Lunina
трагичность ситуации в следующем:
есть запущенное DOS приложение. Я знаю только имя процесса, как определить hwnd и т.п. я пока не знаю sad.gif
мне нужно определить считать из этого досовского приложения последнюю строчку и потом послать ему нажатие клавиши Enter.
помогите, люди добрые, заранее благодарна.
zubr
Если это чисто Досовское приложение, то ничего не получится, а если консольное Win-приложение, тогда можно.
yerke
Цитата(zubr @ 16:02:2008 - 03:55) *
Если это чисто Досовское приложение, то ничего не получится, а если консольное Win-приложение, тогда можно.

а как сделать так чтобы
программка написанная на дельфи
находил уже запущенное консольное окно лотус сервера
и там вводил нужную команду и нажал на ентер
zubr
Никак. Твоя программа на Delphi должна запустить процесс лотуса, тогда можно.
yerke
Цитата(zubr @ 19:03:2008 - 14:17) *
Никак. Твоя программа на 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' печатается в заголовке консольного окна домино
а мне нужно оно печатался в самом окне
sax_ol
Надо захватывать у этого окна консольный (стандартный) ввод/вывод.
Ну или пробовать использовать виртуальную клавиатуру, если не важно знать что там за сообщения идут.
yerke
Цитата(sax_ol @ 19:03:2008 - 17:56) *
Надо захватывать у этого окна консольный (стандартный) ввод/вывод.

с примером конкретизировать можете

вообщем мне надо так сделать чтобы
при перезагрузке сервака
автоматический набирался пароль для домино
и был нажат ентер
European
Цитата(yerke @ 19:03:2008 - 15:12) *
с примером конкретизировать можете

Creating a Child Process with Redirected Input and Output
sax_ol
European + Пояндексив найдутся и делфевые варианты.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2008 IPS, Inc.