默哀中.. 因为LBS_STANDARD

创建CListBox的时候如果按位或了LBS_STANDARD风格,将会导致AddString()时按字母表对CListBox进行排序,结果就出现了今天的事故。。

我用EnumServicesStatus获取了服务列表放到数组ess中

然后遍历ess添加到CListBox里,结果AddString导致了CListBox的自动排序,使ess与CListBox的index不一致。

当我按删除的时候,通过CListBox.GetCurSel()获取索引,然后通过该索引去访问ess[index],然后删除指定的服务,结果导致了错删了n个服务,目前尚不知道我的机器关机后是否还能启动起来。。

解决方法:
对LBS_STANDARD和LBS_SORT的按位非结果进行按位与操作
LBS_STANDARD | ~LBS_SORT

posted on 2007-09-18 14:13  李超  阅读(315)  评论(0编辑  收藏  举报

导航