Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Не получается записать во входной буфер консоли 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.058 c
15-1270116260
Joe
2010-04-01 14:04
2010.08.27
Помогите, Локальная сеть и черный список


15-1264084215
SAN_i
2010-01-21 17:30
2010.08.27
Проблема с использованием памяти


15-1264587985
Oleg
2010-01-27 13:26
2010.08.27
Может кто подскажет...


15-1270632270
Валерий М.
2010-04-07 13:24
2010.08.27
MySQl Server 4


15-1266341008
NewZ
2010-02-16 20:23
2010.08.27
Книга по БД.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский