关于发送TB_DELETEBUTTON消息后有时toobar icon消失的问题

rsp19801226 2016-12-06 06:31:52
请教高手,我获取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在队列里面,导致图标消失吗?如果是,怎么解决呢?
...全文
441 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

18,141

社区成员

发帖
与我相关
我的任务
社区描述
Windows客户端使用相关问题交流社区
社区管理员
  • Windows客户端使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧