下面这个问题问了两遍了,居然无人可以解决,CSDN真的没有高手了吗???问题:著名DVD播放器WinDVD有这样一个功能:视频桌面,就是把DVD的播放视频窗口作为windows的桌面背景,像WallPaper(但是并不影响桌面图标和用户的操作),用户可以一边工作,一边欣赏DVD。这是个很棒的技术,我想弄清楚是怎样实现的,有哪位大侠能够给点思路?要说明的是,窗口透明或者直接桌面输出都是不行的。
解决方案 »
- 如何在dll中保存数据?
- 谁帮改一个这个全局hook?
- treeview问题
- 还有阿
- 在客户端如何读取服务器的一个文件???????????
- 请问如何在DLL的FORM中添加ADO控件?
- 对网络办公的讨论WEB-OA
- 请解释一下这是什么意思 ? 在线等候.....
- 请问 LoadBitmap(hInstance, 'BACKGROUND') 此函数的BACKGROUND windows资源自代马?
- 还是TTS,谁能解答?
- 用过ip4000(Woll2Woll公司的infopower系列控件)的兄弟进来看看!谢谢!
- 请问大家,BDE +SQL SERVER 2000 要怎样才能连上数据库啊!急求!
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or
WS_EX_LTRREADING or
WS_EX_TRANSPARENT or
WS_EX_TOPMOST or
WS_EX_TOOLWINDOW or
WS_EX_LAYERED);
SetLayeredWindowAttributes(Handle, Color, 100, LWA_ALPHA or LWA_COLORKEY);
这不是搞定了吗? 那前面的帖子不是有人回答了吗!~上面的代码是可以实现的嘛!~
先获取桌面Rect尺寸
然后创建新的Rgn GDI对象大小为桌面Rect尺寸大小
接着设置DVD视频窗口的输出Rgn为刚才创建的新的Rgn
最后设置DVD Parent为HWND—DESKTOP,最后使用MoveWindow移动DVD Window具体代码可参考我的Blog上的一个Post:framesniper.mblogger.cn
1、直接在Desktop上Paint会破坏桌面的图标,重画图标会影响性能,肯定不行;
2、YOHOYOHO(月光下的军鸽)的方法只是一个窗口透明的实现,与本问题根本不搭界;
3、希望大家把思路向ActiveDesktop偏移,可能是个方案。