win7 任务栏进度条

番茄系统家园 · 2021-09-01 00:04:28

win7 任务栏进度条

腾讯视频/爱奇艺/优酷/外卖充值4折起

从Win7开始,任务栏图标可以用来显示进度了。但是仍然有很多需要显示进度的程序并没有将这一功能用起来,其中甚至包括自身的蓝牙传输。我想写一个程序,它拥有一个任务栏图标,它可以读取其它程序窗口中的进度条,并将进度显示在自己的任务栏图标上。要实现一个这样的程序,有三个问题需要解决:

(1)如何获取想要监视的进度条的句柄;

(2)如何获取进度条的进度;

(3)如何在任务栏图标上显示进度。

对于第一个问题,我觉得自己写稍微有些麻烦,实际上可以借助现成的工具,比如自带的Spy++。但是是一个昂贵而庞大的开发环境,不是每个人都有。自带的是一个不错的选择,而且当过管理员管理过几台电脑的人都会用两下子吧,毕竟安装软件什么的苦活累活一般都交给这样的自动化软件来做了。

对于第二个问题,我查了一下,利用给进度条发PBM类的消息即可。其中要用到的两个分别为:

:获取进度条的范围

PBM_GETPOS:获取进度

对于第三个问题,Vista以来提供的一系列新的API都是以接口的方式出现win7 任务栏进度条的。这让我想起来很久以前看过的一本书,提到Win32API的一个问题是平面化的API,没有组织和结构,以后的WindowsAPI可能会以接口的方式出现。没想到书中的这一预言真的应验了。由于需要直接操纵接口,很多ActiveX/COM库都没法用了。好在comtypes提供了非常底层的机制,我们可以自己定义接口,继承IUnknown,调用IDispatch等等。

解决了三个问题,程序也就写出来了,源码参见https://github.com/xialulee/WaveSyn/blob/master/wavesynlib/interfaces/windows/progressbarreader.py。现在试验一下效果。我们用蓝牙往电脑上传一个文件:

用AutoItWindowInfo探测进度条的句柄:

以进度条的句柄为参数启动progressbarreader.py:

progressbarreader.py0x21DF2

启动的Python程序的任务栏图标就会显示蓝牙传输的进度。这是我们可以把蓝牙传输窗口最小化,然后干别的事情,在这种情况下依然能够通过Python的任务栏图标随时掌握蓝牙传输的进度。

最初发布于:2015年10月23日,http://blog.sina.com.cn/xialulee

腾讯视频/爱奇艺/优酷/外卖充值4折起

相关阅读

  • win7怎么升级win10 非常详细
  • win7怎么手动win7升级升级到win10?win7官方升级win0图文教程
  • win7 任务栏进度条
  • 免责声明: 凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如果你觉得本文好,欢迎推荐给朋友阅读;本文链接: https://m.nndssk.com/post/55963.html
    猜你喜欢
    最新应用
    热门应用