2017-07-25 48 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位的程序的情況下)作爲參數傳遞給函數。