注:首次點選,會提示未安裝ActiveX插件,下載下傳安裝成功後,重新整理頁面,就可以截屏了。
提示:該ActiveX插件是我用Delphi7開發的純綠色插件(調用了QQ公司的公開dll),預設會安裝到c:\Capture下,大夥兒玩膩了以後,點選c:\capture\uninstall.bat,然後删除整個c:\capture即可.
思路:
1.截圖功能在activex(即ocx檔案)中完成,同時每次完成截圖後,ocx中會有一個屬性得到截圖的base64字元串
2.silverlight中通過js調用activeX中的截屏方法,同時取得圖檔的base64編碼字元串
3.js再繼續通過與silverlight的互動,把圖檔base64字元串"給"到silverlight
4.silverlight最終得到截圖對應的base64字元串,然後還原為圖檔
本文所用技術,均在我部落格其它文章中有提及,這裡隻是将它們組合起來,完成一項小應用而已。
最後:
可能有人會問一個老問題,ff,chrome等非ie浏覽器上怎麼辦,呵呵,我還真不知道,不過我在迅雷的安裝中注意到一個細節:"安裝迅雷多浏覽器支援",換言之,ff,chrome之流雖然不支援activex技術,但是也有自己的插件接口,理論上講,開發一套專用于ff,chrome的截屏插件,還是有希望的,如果各位知道如何在ff中開發這類插件,歡迎回帖指導。
作者:菩提樹下的楊過