放假了,闲着的时间多了。经常可以挂在QQ上,泡MM。
不知从哪版开始,QQ上多了个魔法表情,聊着聊着吓人一跳那种,感觉挺新鲜。
使用魔法表情时,电脑会突然比较卡,其实这个时候内存里多一个magicflash.exe进程。它是一个简
单的FLASH播放器。其实也不是什么播放器,原理就是生成一个网页,在QQ的安装目录下面可以找到这个
magicflash.exe文件。我们可以试着拖一个FLASH文件到magicflash.exe图标上,这下就可以看到所谓的
魔法表情了。哈哈,不难。
说到原理,就更简单了。其实magicflash.exe就是一个网页查看程序,MFC写的似乎webbrowser控件
吧。当运行magicflash.exe时,程序把当前屏幕的固定区域截取下来,做这个网页的背景,然后插入一个
activeX小插件,当然就是个FLASH,来播放指定的那个表情flash。
这样就神不知鬼不觉地呈现了透明的FLASH播放在你的屏幕当中。其实并不是透明的,认识把屏幕中
一个固定区域截取下来作为背景。
现在,我们随便写一个网页,来实现上述魔法。
<html>
<head>
</head><body background="mt4F.jpg" style="overflow:hidden" border= "0">
<SCRIPT LANGUAGE="JavaScript">
function ID1_DoFSCommand(command, args)
{
if(command=="window" && args=="closeResult close")
{
document.getElementById(''V1'').innerHTML = '''';
}
}
</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
On Error Resume Next
Sub ID1_FSCommand(ByVal command, ByVal args)
Call ID1_DoFSCommand(command, args)
End Sub
</SCRIPT>
<DIV ID="V1">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="ID1" width="400"
height="400"
align="middle">
<param name="movie" value="dh188.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="bgcolor" value="#ffffff" />
<param name="allowScriptAccess" value="sameDomain" />
<param name="scale" value="showall" />
</object>
</DIV>
</body>
</html>
其中<body background="mt4F.jpg" style="overflow:hidden" border= "0">就是把你截取的图片
mt4F.jpg作为网页的背景。
QQ就是这么做的。