2017-07-25 50 views
-1

在我的汇编程序中,我从kernel32库中调用AllocConsole,但是我不知道如何从分配的控制台获取输入。 有没有winapi包含的任何函数会从当前程序的分配控制台获取输入?在x86程序集中使用win32 api获取控制台输入

CALL AllocConsole 

的所有功能,如ReadConsole需要输入缓冲器,我不知道如何让输入缓冲区为我分配的控制台,更不用说功能是否确实连我需要什么。

总而言之,winapi中是否有一个函数可以从程序中分配的控制台获取输入?

感谢

+0

使用CreateFile()打开'CONIN $'。 –

+3

'AllocConsole'初始化新控制台的标准输入,标准输出和标准错误句柄。标准输入句柄是控制台输入缓冲区的句柄,标准输出和标准错误句柄是控制台屏幕缓冲区的句柄。 **要检索这些句柄,请使用'GetStdHandle'函数。** – RbMm

回答

6

的所有功能,如ReadConsole需要输入缓冲器,我不知道如何让输入缓冲区

你要调用的函数是在同C和汇编语言。所以你的问题不是汇编语言特定的。

使用GetStdHandle函数可以获得标准输入和标准输出句柄。

为了得到输入处理必须传递常数STD_INPUT_HANDLE-10 = 0xFFFFFFF6在一个32位的程序的情况下)作为参数传递给函数。