在x86程序集中使用win32 api获取控制台输入
问题描述:
在我的汇编程序中,我从kernel32
库中调用AllocConsole
,但是我不知道如何从分配的控制台获取输入。 有没有winapi包含的任何函数会从当前程序的分配控制台获取输入?在x86程序集中使用win32 api获取控制台输入
CALL AllocConsole
的所有功能,如ReadConsole需要输入缓冲器,我不知道如何让输入缓冲区为我分配的控制台,更不用说功能是否确实连我需要什么。
总而言之,winapi中是否有一个函数可以从程序中分配的控制台获取输入?
感谢
答
的所有功能,如ReadConsole需要输入缓冲器,我不知道如何让输入缓冲区
你要调用的函数是在同C和汇编语言。所以你的问题不是汇编语言特定的。
使用GetStdHandle
函数可以获得标准输入和标准输出句柄。
为了得到输入处理必须传递常数STD_INPUT_HANDLE
(-10
= 0xFFFFFFF6
在一个32位的程序的情况下)作为参数传递给函数。
使用CreateFile()打开'CONIN $'。 –
'AllocConsole'初始化新控制台的标准输入,标准输出和标准错误句柄。标准输入句柄是控制台输入缓冲区的句柄,标准输出和标准错误句柄是控制台屏幕缓冲区的句柄。 **要检索这些句柄,请使用'GetStdHandle'函数。** – RbMm