2013-02-27 59 views
0

我在TASM什麼是win32 /系統調用相當於從鍵盤獲取掃描代碼?

mov ah,00h 
int 21h 

cmp ah,3Bh 

此代碼它工作得很好,考慮到它是一個基於DOS器件的應用(我們可以看到它使用中斷,分別是相當老)。現在的問題是,什麼是win32 /系統調用相當於從鍵盤獲取掃描代碼?基本上,當用戶按下F1鍵(掃描碼是3Bh)時,它被登記在AH寄存器中。我們如何通過系統調用在win32程序集中實現這一點? (extrn,kernel32 dll等) 正在使用NASM

+1

http://uhost.rmutp.ac.th/wanapun.w/sys-tc/ch2-1.pdf – 2013-02-27 17:48:51

+0

這是我目前的實施。我問如何使用系統/函數調用在win32中實現這一點 – WantIt 2013-02-27 17:56:38

+1

啊,我明白了。如果在問題的標題中包含您實際要求的內容,您可以將我們所有人都混淆。 :) – 2013-02-27 17:58:18

回答

1

對於控制檯模式程序,最有可能的32位彙編代碼之一是ReadConsoleInput()。 GUI應用程序從WM_KEYDOWN和WM_CHAR消息中獲取由GetMessage()返回的鍵擊。但是,當然你從來不會在程序集中編寫一個GUI應用程序,這是沒有意義的。

從C運行時庫調用_getch()可能是最簡單的方法,它是一個返回int的簡單函數。