字符窜的小问题
用invoke GetWindowText,hWnd,addr @buf,sizeof @buf得到的buf如何遍历@buf字符窜的每一个字母
2009-10-26 20:30
程序代码:szBuff db 100 dup (?) szFmat db '%d',0 ---------------------------- invoke lstrlen,addr @buf mov ecx,eax lea esi,@buf NextWord: invoke wsprintf,addr szBuff,addr szFmat,[esi] invoke MessageBox,NULL,esi,esi,0 inc esi loop NextWord 未测试~
2009-10-27 08:14
2009-10-27 11:14
2009-10-27 12:27
2009-10-27 13:09
2009-10-27 19:33
2009-10-28 18:58
2009-10-29 15:35
2009-10-29 19:28
程序代码:.386
.Model Flat,StdCall
Option Casemap :None
Include Windows.inc
Include User32.inc
Include Kernel32.inc
Include /MASMPlus/Macros/Strings.Mac
IncludeLib User32.lib
IncludeLib Kernel32.lib
.Data
szTxt db '你号abcdefghig测试klmnop啊qrst1234567里890',0
szFmt db '%C',0
szCap db 'Unicode单字符格式化',0
.Data?
usText db 128 dup (?)
szBuff db 128 dup (?)
.Code
Ascii2Unicode Proc _lpwszReturnBuf:DWORD,_lpszSourceBuf:DWORD
pushad
invoke lstrlen,_lpszSourceBuf
inc eax
invoke MultiByteToWideChar,CP_ACP,0,_lpszSourceBuf,-1,_lpwszReturnBuf,eax
popad
ret
Ascii2Unicode EndP
Start Proc
invoke Ascii2Unicode,addr usText,addr szTxt
lea esi,usText
.While WORD ptr [esi]
invoke wsprintf,addr szBuff,addr szFmt,DWORD ptr [esi]
invoke MessageBox,NULL,addr szBuff,addr szCap,0
add esi,2
.EndW
ret
Start EndP
End Start
2009-10-30 10:35