chr*_*ris 7 c++ winapi desktop vlc
前段时间,我注意到VLC能够直接在桌面上播放视频.当我在学校这样做时,在Windows XP上,它在图标下方播放.当我在家里尝试时,在Windows 7上,它隐藏了图标.我不确定它是操作系统还是VLC的更新,但我有兴趣在图标下面播放它.
注意到这一点后,我有一个想法,制作各种动画桌面.没有什么特别的,只有几个选择视频供我自己使用.我开始的想法是在我自己的窗口中播放视频(使用mciSendString
)并执行PrintWindow
每个帧的一个,将其保存到文件,并将桌面壁纸设置为文件.我已经丢失了特定的代码,但它不是很有用,而且,不用说,它会表现得非常糟糕.
回过头来,我意识到必须有一种比这更有效的方式,但我无法理解那是什么.
我尝试(现在都在Windows 7中)将视频的父窗口设置为GetDesktopWindow
,以最小化所有窗口,在播放视频的任务栏上留下一个新窗口,但是能够通过单击aero peek按钮或点击来查看桌面WIN + d.
然后我尝试使用桌面文件夹视图窗口的父窗口.结果是播放视频的相同尺寸的窗口,但这次无法访问桌面,也没有创建新窗口.这就像是在桌面的大部分桌面上播放,但是由于播放窗口尺寸较小,小工具超过顶部,右侧和底部区域仍然显示.
VLC在桌面上玩什么,看起来好像是动态壁纸?是不是很难让它在图标下面播放(如果你在Windows 7中添加小工具,我想)?该程序本身将在Windows XP上使用.我不确定DirectShow是否有任何可能有用的东西,但我愿意使用它,除了MCI之外的其他Windows API领域.如果它有所作为,我宁愿使用C++解决方案..NET也可以很好地工作,但可能需要一些额外的时间.
VLC将壁纸设置为特定颜色,然后使用DirectDraw更新为桌面定义的覆盖表面内的颜色键.
我自己从未这样做过,但这里有一些地方可以找到更多信息:
归档时间: |
|
查看次数: |
2545 次 |
最近记录: |