win32汇编中如何读取用户输入的字符?
如题,输出字符用的;invoke wsprintf, addr buffer, addr format, 1, 2, 3, 4;
; invoke MessageBox, 0, addr buffer, 0, 0
接收用户输入呢? 本帖最后由 oggplay 于 2014-2-26 15:46 编辑
#1、我觉得是调用C库函数一
可以通过处理键盘输入消息WM_CHAR来读取用户输入的字符
.data
char WPARAM 20h
.ELSEIF uMsg==WM_CHAR
push wParam
popchar
invoke InvalidateRect, hWnd,NULL,TRUE
这一段是用来处理WM_CHAR消息的。它把接收到的字符放入变量char中,接着调用InvalidateRect,而InvalidateRect使得窗口的客户区无效,这样它会发出WM_PAINT消息,而WM_PAINT消息迫使WINDOWS重新绘制它的客户区。 调用API设置消息处理的函数
然后找到指定消息的时候记录即可 invoke SendMessage 获取那个地方的句柄,WM_GETTEXT,0,addr @szBuffer 没有那么麻烦。。接收用户输入当然要有地方给用户输入吧,文本框之类的。。
调用获取文本API获取用户的输入保存
看到你最后是弹框显示用户输入的文字
可以用GetDlgItemText 或者 GetWindowText获取用户输入的文本
页:
[1]