默哀中.. 因为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
我用EnumServicesStatus获取了服务列表放到数组ess中
然后遍历ess添加到CListBox里,结果AddString导致了CListBox的自动排序,使ess与CListBox的index不一致。
当我按删除的时候,通过CListBox.GetCurSel()获取索引,然后通过该索引去访问ess[index],然后删除指定的服务,结果导致了错删了n个服务,目前尚不知道我的机器关机后是否还能启动起来。。
解决方法:
对LBS_STANDARD和LBS_SORT的按位非结果进行按位与操作
LBS_STANDARD | ~LBS_SORT