关于发送TB_DELETEBUTTON消息后有时toobar icon消失的问题
请教高手,我获取toolbar的句柄后,使用OpenProcess,之后SendMessage(ipTray, TB_MSG.TB_BUTTONCOUNT, 0, 0)获取按钮个数,然后循环SendMessage(ipTray, TB_MSG.TB_GETBUTTON, i, lAddress.ToInt32());获取按钮信息,找到对应的程序的僵尸图标,GetWindowThreadProcessId(trayData.hwnd, ref dwProcessID); 判断所得的dwProcessID是否为0,是的话则发送删除按钮消息,PostMessage(ipTray, TB_MSG.TB_DELETEBUTTON, i, lAddress.ToInt32());
我是在每次程序启动时就是在main里调用,这里有个问题,假如点击工具栏向上的箭头,把toobar里面的图标手动鼠标移过消除后,启动程序,这个时候图标就会消失。
难道是正在PostMessage TB_DELETEBUTTON消息的时候,toobar也还没有删除前一次TB_DELETEBUTTON消息,所以就有两次TB_DELETEBUTTON在队列里面,导致图标消失吗?如果是,怎么解决呢?