| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1017 人关注过本帖
标题:关于wparam的问题
只看楼主 加入收藏
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:10 
以下是引用bobo2185355在2013-1-11 22:22:03的发言:

这个嘛....我觉得列表框以后肯定用的到,而且还想多了解点消息机制才发的帖子,新手嘛 问题积攒多了以后肯定麻烦大大的
我并不是简单的重复一下API的用处,而是你没理解为什么重复那2个API的用处。

invoke  SendMessage,hWinList,LB_GETCURSEL,0,0
返回焦点序号
意思就是选中的条目在LIST中的序号被返回,返回到哪里了?当然是在eax里。
所以这条语句完成后 EAX中的值是列表框中的序号。比如QQ序号如果是8 下面跟着的一个进程的序号就是9 再下一条就是A。。。选中哪个 EAX中就是哪个的序号。


invoke  SendMessage,hWinList,LB_GETITEMDATA,eax,0
LB_GETITEMDATA  获得与指定的列表框中条目相关的程序自定义值
这条语句中 eax中的序号是作为参数传给SendMessage的。
语句完成后,返回了那个序号对应的自定义值,该值即是进程ID。 当然也是
返回到了EAX中。


eax中的值是在变化的,不是说你看到有改变它的语句它才变。你把这几句中的
eax都看成死的 当然会想不明白。
2013-01-12 16:38
bobo2185355
Rank: 2
等 级:论坛游民
帖 子:81
专家分:43
注 册:2010-4-11
收藏
得分:0 
invoke  OpenProcess,PROCESS_TERMINATE, FALSE,eax 那这里的EAX是上一个SendMessage返回的序号,而不是ID?
2013-01-12 21:45
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:5 

invoke  SendMessage,hWinList,LB_GETCURSEL,0,0
该语句返回焦点序号
invoke  SendMessage,hWinList,LB_GETITEMDATA,eax,0

该语句返回那个序号对应的自定义值,该值即是进程ID

这条语句中 eax中的序号是作为参数传给SendMessage的。
语句完成后,返回了那个序号对应的自定义值,该值即是进程ID。 当然也是
返回到了EAX中。

选中焦点 --取得焦点序号 --根据焦点序号取得进程ID
焦点序号是对于LIST列表来说的  
进程ID是对于系统来说的。

我感觉。。。11楼已经写的很清楚了。。。

你都看到这个地方了 似乎对最基本的东东还很陌生。
这个是最最简单的了。。。。。。
2013-01-12 22:15
bobo2185355
Rank: 2
等 级:论坛游民
帖 子:81
专家分:43
注 册:2010-4-11
收藏
得分:0 
明白了
2013-01-12 23:02
快速回复:关于wparam的问题
数据加载中...
 
   



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

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