300分急求:IE6的图像工具栏原理是什么?(发言有分) (100分)

  • 主题发起人 主题发起人 snowsky
  • 开始时间 开始时间
S

snowsky

Unregistered / Unconfirmed
GUEST, unregistred user!
希望大家讨论讨论,先放上100分,对给出源码或是分析得比较好的给予另外200分的奖励!

不知道BHO能不能做出来?

发言者有分

 
图像工具栏就是把鼠标放到网页中的图片上时,会在左上角显示几个按钮:保存,打印等...
 
我觉得是这样的,IE6捕捉鼠标的移动,当鼠标移动到图片上时,弹出工具栏。
 
我知道是捕捉鼠标移动呀,我问的是如何用编程的方法来做一个相似的程序,比如针对网页 里面的FLASH....

继续讨论...
 
TO:心随风
IE是如何知道图片在网页中的坐标,如何程序鼠标移动的坐标呢?我做的插件又如何让IE认识呢?
 
1。中国人的作品FlashCatcher,我想你是指的这种形式吧~
http://www.justdosoft.com/FlashCatcher/Download.asp

2。可以抓消息试试,ActiveX,看看出口函数

3。鼠标放到图片上弹出对话框方法如下:(不过好像是在Tbs中的)
var
p,p1 : TPoint;
doc : IHTMLDocument2;
e : IHTMLElement;
img : IHTMLImgElement;
begin
doc := WebBrowser1.Document as IHTMLDocument2;
GetCursorPos(p);
p1 := p;
P := WebBrowser1.ScreenToClient(p);
e := doc.elementFromPoint(p.X,p.Y);
if e.tagName = 'IMG' then
begin
bmpSrc := '';
img := e as IHTMLImgElement;
tmp:= UpperCase(img.src);
Delete(tmp,1,Length('file:///'));
while Pos('/',tmp) <> 0 do
ReplaceString(tmp,'/','/');
while Pos('%20',tmp) <> 0 do
ReplaceString(tmp,'%20',' ');
bmpSrc := tmp; //图片文件路径
PopupMenu2.Popup(p1.X,p1.Y);
end;

end;
 
对了,有捷径走用BHO做出来有什么不可以呢?
我想不出来用BHO怎么做的:)IE6是自家出的,哪里会~~。。。

IE启动时会HKEY_LOCALL_MACHINE/SOFTWARE/Microsoft/Windows
/CurrentVersion/Explorer/Browser Helper Objects找这个下的CLSID,并创建对象,调用IObjectWithSite::SetSite与对象建立通讯联系,之后才是建立事件。它会用Invoke事件。
..
^_^,这正是我想要的啊~
 
唉,就是那个FlashCatcher呀,我想自己做一个看看。

关键是想掌握它的原理,想了解一下。

BHO好像做不出来这个吧?
 
TO:heipi2002
能问一下TBS是什么吗?
 
用SPY++捕捉你会发现flash窗口是一个MacromediaFlashplayerActiveX类(class)。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部