| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 921 人关注过本帖
标题:invoke SendDlgItemMessage,hWnd,IDC_LISTBOX2,LB_GETTEXT,eax,ecx
只看楼主 加入收藏
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
结帖率:96.55%
收藏
已结贴  问题点数:0 回复次数:9 
invoke SendDlgItemMessage,hWnd,IDC_LISTBOX2,LB_GETTEXT,eax,ecx
程序代码:
;********************************************************************
; 取多选的列表框项目
;********************************************************************
                invoke    SendDlgItemMessage,hWnd,IDC_LISTBOX2,LB_GETSELCOUNT,0,0
                mov    @dwCount,eax
                invoke    SendDlgItemMessage,hWnd,IDC_LISTBOX2,LB_GETSELITEMS,128/4,addr @szBuffer
                invoke    lstrcpy,addr @szTextBuff,addr szSelect
                lea    esi,@szBuffer
                .while    @dwCount
                    lodsd
                    lea    ecx,@szBuffer1
                    invoke    SendDlgItemMessage,hWnd,IDC_LISTBOX2,LB_GETTEXT,eax,ecx
                    invoke    lstrcat,addr @szTextBuff,addr szReturn
                    invoke    lstrcat,addr @szTextBuff,addr @szBuffer1
                    dec    @dwCount
                .endw
                invoke    MessageBox,hWnd,addr @szTextBuff,addr szTitle,MB_OK
2011-08-12 22:07
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
invoke    SendDlgItemMessage,hWnd,IDC_LISTBOX2,LB_GETTEXT,eax,ecx

这里为什么是eax???
2011-08-12 22:08
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:10 
lea esi,@szBuffer

lodsd

Load String Double Word 也就是从esi指向的内存中取出一个双字变量放到eax中、、、
2011-08-12 22:21
iamsky1981
Rank: 2
等 级:论坛游民
帖 子:20
专家分:76
注 册:2009-10-23
收藏
得分:10 
@szBuffer缓冲区中存放的是多选列表框的选中项目的索引列表

这里要清楚lodsd命令的作用:
是以si位首地址,每次拷贝4个字节,把这4个字节放到eax中,然后si自动+4.

所以eax中存放的是位置索引,每次循环都是变化的。

所以是eax.
2011-08-12 22:27
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
lods 系列 不是字符串操作的吗  esi  edi  之间   


2011-08-12 22:59
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
再追问 一个  不开贴啦
2011-08-12 23:02
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
2.对于单选框 怎样才能 分成不同的组
    例如:
性别:              是一组
国籍: 中国    美国    是一组

但是在用脚本文件的时候 不知道怎么把他们分开
2011-08-12 23:02
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
感谢两位
2011-08-12 23:04
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:0 
是不是  只要在invoke    CheckMenuRadioItem,hMenu,id_begin,id_end,id,MF_BYCOMMAND

指定范围(id_begin, id_end) 就行啊   刚刚想的  

受到groupbox的直接影响  导致 自己一直都在找座标  以为是把要操作的选项的包含就行  




2011-08-12 23:11
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用诸葛修勤在2011-8-12 22:59:04的发言:

lods 系列 不是字符串操作的吗  esi  edi  之间   

是嘛。。。
2011-08-13 09:02
快速回复:invoke SendDlgItemMessage,hWnd,IDC_LISTBOX2,LB_GETTEXT,eax,ecx
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051625 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved