关于GetDlgItemText从控件中取得的内容问题 (已解决)
比如 invoke GetDlgItemText,hWnd,IDC_IID,addr szBuffer,512 比如我在控件IDC_IID输入6968676B6C70676D716A3138373937333638 一共18字节1.那么在缓存区szBuffer里 这些算属于字符串 还是算16进制的数值??? (我想不是数值吧)
2.如果我想把它们转为16进制数值 是不是要自己转? WINDOWS API 里有没有现成转的??
3.假如自己转的思路是什么?是不是 mov eax, offset szBuffer 然后 [eax]..[eax+5]....[eax+7]分别把它们转为16进数值 然后再定义一个比如lpBuffer 缓冲区 mov ecx, offset lpBuffer [ecx]...[ecx+5] 分别对应存储??
4.附加问题 iid=6968676B6C70676D716A3138373937333638
末字节为38。基数=38+30=68
从iid中截出69 68 6B 6C 70 6D 71 6A
分别减去基数68
得到ss号10348592
假设iid 里的值已经是16进制型的了 存储到szBuffer 写这个算法 可不可以用第3个问题的 那个方法??
比如mov eax,offset szBuffer
mov edx,[eax+17];取第18个数字 这里为38 (不知道这样对不对)
add edx,30h;求基数
........等等
可能问题有点多 而且也不是什么高技术的问题而且属于那种半吊子基础不好的人的问题 但希望各位老师能抽点时间解在下心中的疑惑(一般也好) 本以为会很简单 但真的自己不参照东西写还是问题百出 有时候看看别人源代码 修修补补 心想哦 知道了 但是真的自己不看书 不参照 还真的蛮难写的 这就是业余跟专业的区别吧(发点牢骚 别见怪 )解决
[ 本帖最后由 wsz9903011 于 2009-8-19 15:02 编辑 ]