透明窗口显示浏览器控件真的是神话吗?

redui 2011-10-19 10:43:16


浏览器是真实的子窗口,绝非双窗口实现。

浏览器运行正常,FLASH显示正常
CPU占用很低,GOOGLE页面在鼠标乱晃时的CPU不超过10%,百度页面占用20-30%,因为脚本中频繁使用定时器

没打算藏着掖着,但啥时候公开原理要看我心情,还有跟帖数……嘿嘿
...全文
700 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
码农玩抖音 2013-01-24
  • 打赏
  • 举报
回复
得瑟啊,源码
formernetcn 2012-01-04
  • 打赏
  • 举报
回复
酷狗7就是你这个效果。

楼主兄弟,公开下你的源码,或者讲下思路也行啊。
redui 2011-11-02
  • 打赏
  • 举报
回复
结了。

实现源码已经在redui源码里了,可在Q群(40729296)里下载。
marrco2005 2011-10-27
  • 打赏
  • 举报
回复
想把浏览器透明化的人,是希望背景是缕空的,但网页元素是不透明的。这个基本上做不到
==========================
这个是能做到di
IE控件加载一个gif,然后把背景镂空,就可以实现一个桌面精灵,类似瑞星的小狮子
redui 2011-10-27
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 marrco2005 的回复:]

想把浏览器透明化的人,是希望背景是缕空的,但网页元素是不透明的。这个基本上做不到
==========================
这个是能做到di
IE控件加载一个gif,然后把背景镂空,就可以实现一个桌面精灵,类似瑞星的小狮子
[/Quote]

怎么缕空?
qq14923349 2011-10-22
  • 打赏
  • 举报
回复
原理就是截图吧 然后用透明画刷是吗
我非常反对透明浏览器的 因为看着非常不舒服
weiym 2011-10-22
  • 打赏
  • 举报
回复
既然是单窗口,那应该是UpdateLayeredWindow,那现在的问题就是获取浏览器内容了,如果WM_PRINTCLIENT不行,那就是用IE的COM接口获取了,比如IViewObject::Draw。
搂主讲到了性能,那应该是用自己Render的方式了。
一桶姜山 2011-10-20
  • 打赏
  • 举报
回复
可是浏览器空间还是不透明呀
redui 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 rageliu 的回复:]

不是多层窗体吗?
后面的半透明,是根据Alpha透明?

是没有WM_PAINT的实现方式吗
[/Quote]

浏览器控件是透明窗口真正的子窗口,并没有创建另一个不透明的顶级窗口作为浏览器的父窗口(双窗口模拟法)。
WM_PAINT方式在透明窗口下行不通。
rageliu 2011-10-20
  • 打赏
  • 举报
回复
不是多层窗体吗?
后面的半透明,是根据Alpha透明?

是没有WM_PAINT的实现方式吗
wlwlxj 2011-10-20
  • 打赏
  • 举报
回复
实现的可能性是确实的,可以参考Win7里面的小挂件,至于怎么做没有研究过,不过chrome集成webkit的倒是略知一二,ie的没在这个层面研究。
wfl568 2011-10-20
  • 打赏
  • 举报
回复
Mark 一下
酱油党 2011-10-20
  • 打赏
  • 举报
回复
没研究过这个 , 是MFC应用程序 + IE 控件吧, 然后写了一个 透明的CWnd类 , 子子窗体继承 …… 估计没这么简单 , 也只能想到这了 , 楼主给答案啊。
redui 2011-10-20
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 paulcxz 的回复:]

可是浏览器空间还是不透明呀
[/Quote]

有的人拼命想把浏览器控件透明化,有的人拼命想把浏览器控件不透明化,呵呵,众口难调啊。

这是两个完全不同的概念。
想把浏览器透明化的人,是希望背景是缕空的,但网页元素是不透明的。这个基本上做不到,有的人想办法把窗口背景截下来作为body元素的背景图片,看起来是做到了,但窗口一移动或者背景发生了变化就露馅了,没法实时更新背景。
想把浏览器不透明化的人,是希望主窗口被创建成LAYERED半透明样式而作为子窗口的浏览器控件正常显示。因为LAYERED窗口的子窗口是显示不出来的,所以都想尽各种办法截获子窗口的内容。其它标准窗口还好说,偏偏这个浏览器窗口很难缠,它从来不发送任何WM_PAINT消息,也不处理任何绘制相关的消息,截图是很难办的,标准截图方式对它无效。最重要的是不知道它的显示内容什么时候会发生变化。所以产生了双窗口解决方案。
alpha.5 2011-10-19
  • 打赏
  • 举报
回复
我之前也有见过有人这么搞过 就是我自己不会~~
这不是鸭头 2011-10-19
  • 打赏
  • 举报
回复
jff
弱水垂钓 2011-10-19
  • 打赏
  • 举报
回复
顶一下,自己研究研究去
cocoabird 2011-10-19
  • 打赏
  • 举报
回复
想看lz算法怎么搞的
ouyh12345 2011-10-19
  • 打赏
  • 举报
回复
总觉得看起来有点花
redui 2011-10-19
  • 打赏
  • 举报
回复
点击链接时的瞬间CPU占用率是25%左右,打开页面后回到2-6%,页面加载大约2秒内完成。比 IE 高一点点。
加载更多回复(5)

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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