Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

Можно ли отправить сообщение из/в консоль   Найти похожие ветки 

 
S@shka ©   (2004-01-15 14:36) [0]

1. Отправить сообщение из консольно окна в оконное приложение я так полагаю можно и без проблем.
2. А вот как мне отправить команду в окно консоли из другой проги
(врядли для косоли существует такое понятие как окно :) но можно ли
если у меня там
Please enter some>
Можно ли из другой проги на вход консольно что-либо запулить?


 
Digitman ©   (2004-01-15 14:45) [1]

The WriteConsoleInput function writes data directly to the console input buffer.

BOOL WriteConsoleInput(

   HANDLE hConsoleInput, // handle to a console input buffer
   CONST INPUT_RECORD *lpBuffer, // pointer to the buffer for write data
   DWORD nLength, // number of records to write
   LPDWORD lpNumberOfEventsWritten  // pointer to number of records written
  );


 
марсианин ©   (2004-01-15 16:02) [2]

можно создать невидимое окно и слать сообщения ему...


 
S@shka ©   (2004-01-15 16:17) [3]

Может я не верно сформулировал вопрос....
У меня есть программа (exe) котороая запускается в консоли.
Она ждет ввода каких то данных.
Могу ли я из другой программы что нибудь передать в эту консоль???
Если да... то как получить дескриптор консоли


 
Digitman ©   (2004-01-15 16:17) [4]


> марсианин ©   (15.01.04 16:02) [2]
> можно создать невидимое окно и слать сообщения ему...


это здесь причем ? речь идет о штатном ConsoleInput-буфере, как стало понятно из вопроса


 
S@shka ©   (2004-01-15 16:22) [5]

хм выше сформулировал


 
S@shka ©   (2004-01-15 23:11) [6]

Ну найти консоль
можно по
var
h : HWND;
begin
  h := FindWindow (nil,"C:\console.exe");
  а дальше??
end;


 
BiN ©   (2004-01-16 09:20) [7]

S@shka ©   (15.01.04 23:11) [6]
сомневаюсь, что ты сможешь обрабатывать произвольные сообщения, посланные именно консольному окну. Но лучший способ "найти" это окно в W2k - GetConsoleWindow.

В остальном же, ты, я думаю, получил уже вполне исчерпывающие ответы.


 
S@shka ©   (2004-01-16 09:36) [8]

GetConsole Я посмотрю,
но дело в том что мне не нужно обрабатывать произвольные сообщения для консольного окна - мне надо "запулить" данные в его буфер.


 
Digitman ©   (2004-01-16 09:50) [9]


> S@shka


1. перечисляешь консольные процессы (GetConsoleProcessList)
2. среди перечисленных находишь нужный
3. подключаешься к нему (AttachConsole)
4. получаешь хэндл очереди ввода консоли (GetStdHandle)
5. пишеть в очередь то что тебе нужно (WriteConsoleInput)

кажется, это должно выглядеть так


 
AKul ©   (2004-01-16 09:57) [10]


> S@shka ©   (16.01.04 09:36) [8]
> мне надо "запулить" данные
> в его буфер.


Что понимается под буфером? Надеюсь это не буфер обмена.

Что бы передать какие-нибудь данные из приложения в консоль (или наоборот) можно создать Pipe. И дальше обмениваться данными через функции WriteFile и ReadFile.


 
BiN ©   (2004-01-16 10:06) [11]

AKul ©   (16.01.04 09:57) [10]
...только при создании этого процесса из своего приложения.


 
S@shka ©   (2004-01-16 10:06) [12]

нет не буфер обмена.
Консоль
------------------------------------
Введите имя файла:

------------------------------------

ожидает ввода какихто данных - я хочу эти данные передать


 
S@shka ©   (2004-01-16 10:14) [13]

> Digitman
Нет таких API функций
GetConsoleProcessList
AttachConsole


 
AKul ©   (2004-01-16 10:19) [14]


> BiN ©   (16.01.04 10:06) [11]

> ...только при создании этого процесса из своего приложения.


Так разве ж это проблема?


 
BiN ©   (2004-01-16 10:27) [15]

AKul ©   (16.01.04 10:19) [14]
> BiN ©   (16.01.04 10:06) [11]
> ...только при создании этого процесса из своего приложения.


Да, при доступе к произвольному приложению.

S@shka ©   (16.01.04 10:14) [13]
а на мсдн зайти слабо?


 
AKul ©   (2004-01-16 10:32) [16]


> BiN ©   (16.01.04 10:27) [15]
>
> Да, при доступе к произвольному приложению.

По-моему ты из мухи делаешь слона.


 
BiN ©   (2004-01-16 10:38) [17]

AKul ©   (16.01.04 10:32) [16]
во-первых, слон намного интересней мухи :)
а во-вторых, об этом лучше спросить у автора вопроса


 
Digitman ©   (2004-01-16 10:53) [18]


> S@shka ©   (16.01.04 10:14) [13]
> Нет таких API функций


http://msdn.microsoft.com/library/en-us/dllproc/base/console_functions.asp


 
Digitman ©   (2004-01-16 10:56) [19]


> S@shka


они фигурируют начиная с XP , согласно MSDN


 
AKul ©   (2004-01-16 12:18) [20]


> BiN ©   (16.01.04 10:38) [17]
> во-первых, слон намного интересней мухи :)
> а во-вторых, об этом лучше спросить у автора вопроса


Согласен...



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

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
1-1078414325
SkullNet
2004-03-04 18:32
2004.03.28
Цвета в StringGrid


11-1056813188
Dimaxx
2003-06-28 19:13
2004.03.28
Про нажатия клавиш


1-1078686109
Anthony
2004-03-07 22:01
2004.03.28
Помогите с экспертной системой!!!!плизззз


1-1079026882
Андрей__
2004-03-11 20:41
2004.03.28
Про Popup меню


3-1077803794
Pancha
2004-02-26 16:56
2004.03.28
Пипл! помогите с SQL запросом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский