winapi - 如何将编辑框转换为数字程序集?
问题描述
在 Win32 的 TASM 中,我有以下代码:
;------- Edit1 Create ----------------
push L 0
push [hInstEdit1]
push idEdit1
push [newhwnd]
push L 20
push L 200
push L 50
push L 130
push L WS_CHILD+WS_VISIBLE+WS_BORDER+ES_LEFT+ES_NOHIDESEL+ES_AUTOHSCROLL
push L 0
push offset EClassName
push L 0
call CreateWindowEx
mov [hEdit1],EAX
push L SW_SHOW
push [hEdit1]
call ShowWindow
push [hEdit1]
call UpdateWindow
我需要获取用户在此编辑框中输入的数字。该号码必须放在登记簿中。谁知道如何做到这一点?
PS我认为你需要使用函数GetDlgItemInt
解决方案
这是在网上找到的方法
; Input:
mov esi, offset szMsg1 ; esi - str
dec msgLength
mov ecx, msgLength ; ecx - length str
; Output:
; EAX = integer value
string_to_int:
xor ebx,ebx ; clear ebx
next_digit:
movzx eax, byte ptr [esi]
inc esi
sub al,'0' ; convert from ASCII to number
imul ebx,10
add ebx,eax ; ebx = ebx*10 + eax
loop next_digit ; while (--ecx)
mov eax,ebx
推荐阅读
- reactjs - 在 react redux 应用程序中:在每个设置状态或更改状态时发出移动屏幕重置(跳转)
- arrays - 将八度音阶上的符号矩阵导出到excel
- axapta - AX2012 和 UIPath
- gluon - Gluon Mobile 应用程序突然崩溃而没有进行代码更改 (iOS 13.3.1)
- regex - 正则表达式以任何顺序捕获可选组
- vue.js - MVC Core 3.1 和 Vue/Axios 发布 Null 值
- jsx - 文件夹对象 - 关闭句柄
- linux - 将一个文件复制为多个名称
- java - 何时签署 JAR 文件?
- python-3.x - 权限功能在两种情况下失败