Winamp 有一个选项,就是:在 Windows 任务栏卷动歌曲标题
打开任务管理器,可以看到 Winamp 的窗口标题是不停变换来达到卷动效果的。但是,当我取得 Winamp 的主窗口:
HWND hwndWinamp = FindWindow("Winamp v1.x",NULL); //这是Winamp官方提供的方法
却发现这个窗口的标题是不变的!并且即使调用 SetWindowText() 对主窗口及任务栏的标题均无任何影响。
再在 Spy++ 中看,Winamp 的标题确实是不变的,而改变的只是一个名为 tooltips_class32 的窗口,也就是说,实际的 Winamp 主窗口并没有在任务栏中显示,显示的只是一个“替代品”。但为什么对这个替代品的操作(例如对它点右键,选最小化、移动等)均对 Winamp 主窗口有效?
另外,如果不选 在 Windows 任务栏卷动歌曲标题,虽然那个 tooltips_class32 还在,但如果对 Winamp SetWindowText(),则无论主窗口还是任务栏(tooltips_class32)的标题都改变。以上这些,是怎样实现的?我想了半天也没头绪,望哪位大侠帮我解决!
打开任务管理器,可以看到 Winamp 的窗口标题是不停变换来达到卷动效果的。但是,当我取得 Winamp 的主窗口:
HWND hwndWinamp = FindWindow("Winamp v1.x",NULL); //这是Winamp官方提供的方法
却发现这个窗口的标题是不变的!并且即使调用 SetWindowText() 对主窗口及任务栏的标题均无任何影响。
再在 Spy++ 中看,Winamp 的标题确实是不变的,而改变的只是一个名为 tooltips_class32 的窗口,也就是说,实际的 Winamp 主窗口并没有在任务栏中显示,显示的只是一个“替代品”。但为什么对这个替代品的操作(例如对它点右键,选最小化、移动等)均对 Winamp 主窗口有效?
另外,如果不选 在 Windows 任务栏卷动歌曲标题,虽然那个 tooltips_class32 还在,但如果对 Winamp SetWindowText(),则无论主窗口还是任务栏(tooltips_class32)的标题都改变。以上这些,是怎样实现的?我想了半天也没头绪,望哪位大侠帮我解决!
解决方案 »
- 对话框坐标问题
- 在VC2005中怎么给TOOLBAR里面的图标加上command呢?没有类向导!
- 类似于3721IE插件的东西,怎么做到自动下载和自动安装的??
- 在C/C++里怎样实现photorealistic 3D?
- 请教简单问题
- vc++做得程序能否在下Dos运行!
- 请问关与UDP中mcast.imr_multiaddr.S_un.S_addr该如何附值的一个问题?
- 我自己新建了2个类,class A 和class B,我想在class B 中创建class A 的实体,应该怎样?
- 面向对象程序设计有流程图吗?
- 关于DirectDraw的问题!高手们请进!
- 高分求知Windows下的事件日志格式!
- 一个在release版本下有关CArray的问题,急!
Winamp、金山影霸等很多程序都是自绘窗口,所以和标准的不一样。
是用 GetWindowText() 的得到的 和 任务栏 中显示的不一样,窗口中显示的标题是 Skin 中画的,这我知道
另,To papaya_stone(^_^)shentong(^_^)
spy++ 中看 类名为 Winamp v1.x 的窗口(这是 Winamp 主窗口)标题是不变的!当然如果一首歌放完了换下一首,就会变了
当 Winamp 主窗口最小化之后,在 Spy++ 中也无法看见那个标题栏在卷动的窗口,而只能在任务管理器中看见!
前一项是类名当然不会改变的,窗口标题随时都可以设置,添加的
winamp也没有所谓的替代的窗口,不过是这个窗口是自画的
通过区域的定制来控制点击的效果
转发消息?不大懂。
转发消息就可以改变任务栏标题?
他每隔一些时间就发送wm_settext在wm_settext之前去掉ws_caption风格,之后再加上.总共有两个timer
就是如何使 GetWindowText() 得到的窗口标题 与 任务栏中显示的窗口标题 不一样
最好有具体的实现过程。还有,我用 Spy++ 跟踪过,好像并没有 WM_TIMER 事件产生(或许可能是直接定义了定时响应函数从而不会发生 WM_TIMER?)。
在Spy++, 任务栏, 任务管理器中的文字都在变动.
当然如果你想看到Spy++中的变动, 必须不停的按Refresh按钮, 你再看看
在我机子(Winxp)是这样的情况:
任务栏, 任务管理器中的文字都在变动. Spy++ 里变的是一个类名为 tooltips_class32 的窗口,主窗口("Winamp v1.x") 并不变。而且如果 Winamp 最小化了,那么连 tooltips_class32 也没了,在 SP++ 中看不到任何标题在变的窗口!
实际上任务栏标题是 SetWindowText() 设置的。
而用 GetWindowText() 得到的是 Winamp 响应 WM_GETTEXT 是设定的,因此不受 SetWindowText() 影响。