2017-07-25 1 views
-1

In meinem Assembly-Programm habe ich AllocConsole aus der kernel32-Bibliothek aufgerufen, jedoch weiß ich nicht, wie ich Eingaben von der zugewiesenen Konsole abrufen kann. Gibt es eine Funktion, die das Winapi enthält, die Eingabe von der zugewiesenen Konsole in dem aktuellen Programm erhalten?Konsoleneingabe mit win32 api in x86-Baugruppe erhalten

CALL AllocConsole 

Alle Funktionen wie Readconsole benötigen einen Eingangspuffer, und ich weiß nicht, wie die Eingangspuffer für meine zugewiesen Konsole zu bekommen, geschweige denn, ob die Funktion auch tut, was ich brauche.

Zusammenfassend, gibt es eine Funktion in der Winapi, die Eingabe von der zugewiesenen Konsole in einem Programm erhalten kann?

Dank

+0

Öffnen Sie 'CONIN $' mit CreateFile(). –

+3

'AllocConsole' initialisiert Standardeingabe-, Standardausgabe- und Standardfehlerkennungen für die neue Konsole. Das Standardeingabe-Handle ist ein Handle für den Eingabepuffer der Konsole, und die Standardausgabe- und Standardfehler-Handles sind Handles für den Bildschirmpuffer der Konsole. ** Um diese Handles abzurufen, verwenden Sie die Funktion "GetStdHandle". ** – RbMm

Antwort

6

alle Funktionen wie Readconsole benötigen einen Eingangspuffer, und ich weiß nicht, wie die Eingangspuffer

Die Funktionen, die Sie gleich sind zu nennen haben, um in C und in Assemblersprache. Ihr Problem ist also nicht spezifisch für die Assemblersprache.

Mit der Funktion GetStdHandle können Sie die Standardeingabe- und Standardausgabe-Handles abrufen.

Um das Eingabehandle zu erhalten, müssen Sie die Konstante STD_INPUT_HANDLE (-10 = 0xFFFFFFF6 im Falle eines 32-Bit-Programms) als Argument für die Funktion übergeben.