因为某个帖子问到了这个
问题,正好我也感兴趣,于是就去尝试了一下,然后误打误撞实现了
如下是我的代码
TaskbarProgressBar.rar (3 K) 下载次数:48 其中那个QTimer::singleShot()在这段代码中是必须的,因为进度条效果只有在任务栏
按钮已经创建了之后才有效果
我大概只能说,我实现了这个效果,但是不能说我的代码是正确/最简单的
至少目前有这么一个疑问:COM接口究竟该怎么调用?我对COM几乎是一片空白啊跪……
QAxObject之类的创建的时候似乎都是针对某个特定的COM Object的,而像任务栏进度条的实现,是直接调用一些interface。我感觉是运气
比较好,找到了这个需要的interface实现的object,并且interface的定义也google到了(shobjidl.h是
Windows SDK中的头
文件,且这个效果依赖于最新的Win7SDK中的shobjidl.h,而我的mingw提供的这个h尚不包括ITaskBarList3的声明,需要自己找)。
但是如果运气(或者说水平?)不够好,找不到该从哪个object进行query interface该怎么办?如果我
没有需要的interface的声明该怎么办?
最后具体出效果的
部分其实并没有用到Qt的东西,那么我是不是可以完完全全只用系统api来实现,包括接口的获得?
11楼更新了一下,没依赖QAxObject