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

Вниз

Не получается записать во входной буфер консоли WriteConsoleInput   Найти похожие ветки 

 
Serafim ©   (2009-02-10 17:38) [0]

У меня такая проблема - не получается записать во входной буфер консоли графического приложения  так, как написано в http://www.delphimaster.ru/articles/console.html -
Объявляю переменные
 ConsoleWindow : HWND;
 InputHandle : THandle;
 OutputHandle : THandle;

 InputRecord : TInputRecord;
 NumberOfRecords : Cardinal;

При создании формы пишу
procedure TForm1.FormCreate(Sender: TObject);
begin
 AllocConsole;
 ConsoleWindow := GetConsoleWindow;
 ShowWindow ( ConsoleWindow, SW_MINIMIZE );
 InputHandle := GetStdHandle ( STD_INPUT_HANDLE );
 OutputHandle := GetStdHandle ( STD_OUTPUT_HANDLE );

end;

При нажатии клавиши в поле Edit
procedure TForm1.Edit2KeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
 InputRecord.EventType := KEY_EVENT;

 InputRecord.Event.KeyEvent.bKeyDown := TRUE;
 InputRecord.Event.KeyEvent.wRepeatCount := 1;
 InputRecord.Event.KeyEvent.wVirtualKeyCode := Key;
 InputRecord.Event.KeyEvent.AsciiChar := Char ( Key );

 WriteConsoleInput ( InputHandle,
                     InputRecord,
                     1,
                     NumberOfRecords );

 InputRecord.Event.KeyEvent.bKeyDown := FALSE;
 WriteConsoleInput ( InputHandle,
                     InputRecord,
                     1,
                     NumberOfRecords );

end;
И в консоли ничего не выводится, но должно, поскольку - это эмуляция нажатия клавиши в самой консоли.
Ксли же пишу
procedure TForm1.Edit2KeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
 Write ( InputHandle, Char ( Key ) );

end;
То символы выводятся, но перед ними пишется цифра 3.
Что делать, как писать во входной буфер консоли с помощью WriteConsoleInput?


 
Сергей М. ©   (2009-02-11 00:29) [1]

If the function fails, the return value is zero. To get extended error information, call GetLastError.



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

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

Наверх




Память: 0.47 MB
Время: 0.164 c
15-1269692542
Kerk
2010-03-27 15:22
2010.08.27
Задачка


4-1231416440
kolj
2009-01-08 15:07
2010.08.27
Стиль Windows Xp для нарисованой кнопки на Caption bar ?


2-1268985882
Boortwint
2010-03-19 11:04
2010.08.27
Программирование с использованием строк.


2-1267599502
wwictor
2010-03-03 09:58
2010.08.27
Отправка письма из Delphi 2005


2-1270210504
Вэн
2010-04-02 16:15
2010.08.27
Апдейтер для ММО