谁知道鲁大师(一款软件)的任务栏标尺是什么原理

几罗星人 2012-09-09 11:48:04
看图,红圈的部分,是鲁大师的任务栏标尺,可以动态地显示CPU温度,这个是怎么做的?
...全文
893 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangweilst 2015-02-23
  • 打赏
  • 举报
回复
引用 3 楼 Veron_04 的回复:
至于你说的显示,那相比与获取温度,容易的多了
获取温度不难,这种GUI倒是真不会~
几罗星人 2012-09-22
  • 打赏
  • 举报
回复
还没搞出来,不过了解到了很多细节,到时候可以慢慢弄,谢谢各位了
sosoben 2012-09-17
  • 打赏
  • 举报
回复
用 spy++也获取不了句柄吗?? 如果是你自己建的空间,不是可以获取 .handle 属性吗?
几罗星人 2012-09-16
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]
成功了!恭喜你一下
[/Quote]
革命尚未成功,同志仍需努力
嗷嗷叫的老马 2012-09-16
  • 打赏
  • 举报
回复
MSDN里好东西多着呢.
几罗星人 2012-09-15
  • 打赏
  • 举报
回复
可是要发送消息,也要知道句柄啊,发出消息总要有接受的地方吧。
c_cyd2008 2012-09-15
  • 打赏
  • 举报
回复
成功了!恭喜你一下
几罗星人 2012-09-15
  • 打赏
  • 举报
回复
终于发现MSDN的好用之处了~~
几罗星人 2012-09-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

这不过就是一个任务栏上的ReBar控件中新建个Band.

向那个ReBar发送个RB_INSERTBAND消息插入一个Band,再把自己某个窗口定位上去应该就行了.
[/Quote]
写了个代码试了一下:

hWndTemp = FindWindowEx(0, 0, "Shell_TrayWnd", vbNullString)
hWndTemp = FindWindowEx(hWndTemp, 0, "ReBarWindow32", vbNullString)
' SendMessageCallback hWndTemp, RB_INSERTBANDA, 0, 0, AddressOf WndProc, 0
MsgBox SendMessage(hWndTemp, RB_INSERTBANDA, 0, 0)

最后消息框出来的是0。如果用注释了的那个回调发送消息函数,回调的结果也是0.那么发送消息返回结果是0是不是意味着成功了呢?如果是的话,任务栏上也没见到任何变化啊。到底是创建Band没成功;还是成功了,还需要有后续的步骤,才会出现一些变化呢?
c_cyd2008 2012-09-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]
可是要发送消息,也要知道句柄啊,发出消息总要有接受的地方吧。
[/Quote]
虽然没试过,但老马的意思是你应该向"ReBarWindow32"发消息,而不是ToolbarWindow32,"ReBarWindow32"的句柄你应该得到了吧
c_cyd2008 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
引用 10 楼 的回复:

引用 8 楼 的回复:

为什么我总是拿不到ToolbarWindow32的句柄呢?
…………
…………
统统都是返回0,为什么?


为什么,自己用法不对呗。
没看我在1F说的那些“层次关系”吗!

你以为要拿它的句柄,能那么省事么?
VB code
Private Sub Command1_Click()
Dim hWndTemp A……
[/Quote]

win7和XP不同,MSTaskSwWClass下没有ToolbarWindow32,当然拿不到,还是看看5楼老马的建议
几罗星人 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

引用 8 楼 的回复:

为什么我总是拿不到ToolbarWindow32的句柄呢?
…………
…………
统统都是返回0,为什么?


为什么,自己用法不对呗。
没看我在1F说的那些“层次关系”吗!

你以为要拿它的句柄,能那么省事么?
VB code
Private Sub Command1_Click()
Dim hWndTemp As Long
……
[/Quote]
你的代码我试过了,还是为0。我调试看了一下,到这一句还是有返回的句柄的

hWndTemp = FindWindowEx(hWndTemp, 0, "MSTaskSwWClass", vbNullString)

但是,最后去拿托盘区的这句,偏偏返回的是0

hWndTemp = FindWindowEx(hWndTemp, 0, "ToolbarWindow32", vbNullString)

好吧,怎么回事???
几罗星人 2012-09-14
  • 打赏
  • 举报
回复
哇~~~,难怪~~
舉杯邀明月 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

为什么我总是拿不到ToolbarWindow32的句柄呢?
…………
…………
统统都是返回0,为什么?
[/Quote]

为什么,自己用法不对呗。
没看我在1F说的那些“层次关系”吗!

你以为要拿它的句柄,能那么省事么?
Private Sub Command1_Click()
Dim hWndTemp As Long
hWndTemp = FindWindowEx(0, 0, "Shell_TrayWnd", vbNullString)
hWndTemp = FindWindowEx(hWndTemp, 0, "ReBarWindow32", vbNullString)
hWndTemp = FindWindowEx(hWndTemp, 0, "MSTaskSwWClass", vbNullString)
hWndTemp = FindWindowEx(hWndTemp, 0, "ToolbarWindow32", vbNullString)
MsgBox "ToolbarWindow32的句柄是:" & hWndTemp
End Sub

赵4老师 2012-09-14
  • 打赏
  • 举报
回复
推荐楼主使用Spy4Win软件。
几罗星人 2012-09-13
  • 打赏
  • 举报
回复
为什么我总是拿不到ToolbarWindow32的句柄呢?

hWnds = FindWindow("Shell_TrayWnd", vbNullString)
MsgBox FindWindowEx(hWnds, 0, "ToolbarWindow32", vbNullString)

消息框出来的是0.这样写也不行:

MsgBox FindWindowEx(0, 0, "ToolbarWindow32", vbNullString)

这样也不行:

MsgBox FindWindow("ToolbarWindow32", vbNullString)

统统都是返回0,为什么?
贝隆 2012-09-12
  • 打赏
  • 举报
回复
我觉得就是个美工活儿
东方之珠 2012-09-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
这个问题我也研究过,不知道它的这个温度是怎么获得的。反正网上的方法我都试过了,要不获取不了数据,要不获取的数据是固定的。我想它获取的应该是BIOS中的数据,但BIOS的数据存在什么地方?怎么获取?是一个问题。我们可以说获取BIOS的数据可以采用读写系统IO来实现,但问题的关键就在于这些数据存储在什么地方呢???
[/Quote]
应该是用底层驱动实现的。我爱用ATI显卡,这种显卡能取得显卡的温度,还能控制风扇,这些都是用硬件驱动实现的。
嗷嗷叫的老马 2012-09-12
  • 打赏
  • 举报
回复
这不过就是一个任务栏上的ReBar控件中新建个Band.

向那个ReBar发送个RB_INSERTBAND消息插入一个Band,再把自己某个窗口定位上去应该就行了.
几罗星人 2012-09-10
  • 打赏
  • 举报
回复
哦,补充一下,获取温度那种gishi个说明,不是我程序想要的,我想要的只是做一个标尺
加载更多回复(3)
鲁大师一款免费软件,并且不带任何插件和病毒。它适合下列操作系统: 操作系统:Windows2000/XP/2003/Vista/2008/7 官方网站:http://www.ludashi.com 简介: 鲁大师拥有专业而易用的硬件检测,不仅超级准确,而且向你提供中文厂商信息,让你的电脑配置一目了然,拒绝奸商蒙蔽。 它适合于各种品牌台式机、笔记本电脑、DIY兼容机,实时的关键性部件的监控预警,全面的电脑硬件信息,有效预防硬件故障,让您的电脑免受困扰。有硬件温度监测等带给你更稳定的电脑应用体验。 V2.87 Build 11.804 升级说明: 1、增加对微星(MSI) X58 Pro-E、七彩虹(Colorful) C.N78C D3、华硕(ASUS) P8P67-M主板的温度检测支持; 2、任务栏标尺增加对64位操作系统的支持; 3、增加对蓝光康宝和HD康宝的检测; 4、修正宏基 3750G笔记本检测显卡温度导致计算机卡死的问题; 5、改进部分三星硬盘的使用时间检测; 6、改进AMD K10处理器的温度检测; 7、增加对东芝笔记本Bluetooch RFComm的检测; 8、改进Intel无线网卡的检测; 9、节能降温增加显示器关闭时间的自定义设置; 10、功耗计算器增加 AMD Fusion A4-3300、A4-3300M、A4-3310MX、A4-3400、A6-3400M、A6-3410MX、A6-3500、A6-3600、A6-3650、A8-3500M、A8-3510MX、A8-3530MX、A8-3800、A8-3850、E2-3200、E2-3000M、E-300、E-450、C-60、Z-01、Athlon 64 X2 4200+等处理器的功耗检测

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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