对不起,发了那么多废帖,新人不太习惯.关于ListBox有关问题的正式版本 多谢

对不起,发了那么多废帖,新人不太习惯....关于ListBox问题求助的正式版本 谢谢!
想用自己写的软件调用商业软件,有这样一个弹出的控制面板(如图),其窗体句柄用FindWindow找到了
面板上有一列表框(红圈处),Spy++确认了其是ListBox类,句柄用FindWindowEX找到了
列表框的默认选项不是我需要的,于是我就用PostMessage向其发送了LBN_SELCHANGE消息。这看起来像成功了,“选中”的蓝色阴影的确移到了我要的条目上
但是,软件并没有接受我的操作。当进行后续步骤,比如向下方的“Set”按钮发送WM_LBUTTONDOWN时,选项立刻就跳回了默认位置,这就得不到正确的操作。而用鼠标进行手工控制的时候,是不会发生这种问题的

又,经过几位大哥的指点,明确了以下情况:
1.句柄肯定没问题,因为发送消息有反应(选中条目改变)
2.发送LB_SETCURSEL也不行,仍然是只能改变阴影条目
3.给“Set”按钮的父窗口发送BN_CLICKED也不成功,甚至用LB_SETCURSEL改变条目之后手工单击都不成功




------解决方案--------------------
hwndDlg 为对话框句柄,IDC_LIST 为 ListBox 的 ID,hListBox 为句柄:
C/C++ code
SendMessage(hListBox, LB_SETCURSEL, index, 0);
SendMessage(hwndDlg, WM_COMMAND, MAKEWPARAM(IDC_LIST, LBN_SELCHANGE), (LPARAM)hListBox);