高分奉送,IE编程接口问题(200分)

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

strgold

Unregistered / Unconfirmed
GUEST, unregistred user!
IE指的是真正的 Microsoft Internet Explorer,<br>我希望能在页面上点右键时弹出的command bar添加自己的按钮,<br>并从页面上获取表格数据,请指教!<br>如果有IE编程接口的好资料,请E-Mail给我,goldlove@sina.com。谢。
 
玩过BHO吗?<br>没玩过找satanmonkey看看.
 
但把说TWebBrowser是IE接口啊
 
请高手详细解答,如果能解决问题,愿意再奉送200分,<br>总分[:(][red]400[/red],<br>不过,我现在还不知道在原帖上加分的方法,<br>我可以再发新贴,给高手加200分。
 
你可以刪除此帖再發布.
 
有何难哉!!!!!<br>在注册表的<br>HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/MenuExt/<br>下面你可以任意添加新的键值,然后在数据部分将要运行的程序路径写上就行了!<br>
 
获得页面的数据稍微复杂点,但也不是很难,主要通过DELPHI提供的 <br>TShellWindows;TInternetExplorer两个类来实现!呵呵!看名称就知道,<br>TShellWindows代表一个壳窗口,TInternetExplorer代表IE实例<br>首先要定义这两个对象对象的变量,然后创建它<br>ShellWindows:=TShellWindows.Create(self);<br>IE:=TInternetExplorer.Create(self);<br>接着:<br>ShellWindows.Connect;<br>即可获得当前的壳窗口的列表(含普通窗口),注意是列表,具体的每个窗口是不是真正的IE页面还要判断一下!我们用 Vdoc:OleVariant来存储这个页面内容。<br><br>&nbsp;for i:=0 to ShellWindows.Count-1 do<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;begin<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IE.ConnectKind := ckRunningInstance;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//连接到一个IE实例<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IE.ConnectTo(ShellWindows.Item(i) as IWebBrowser2);<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//获得页面<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vDoc := IE.Document;<br>.....<br>    end;<br>&nbsp;有点乱,但我也只能说这么多了,呵呵!
 
only you:<br>你说的没错,在注册表HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/MenuExt/<br>添加buttonname即可增加按钮,但在数值数据加上'c:/myexe.exe',<br>却没能启动myexe.exe,是何原因?
 
only you:<br>按你的方法可以加按钮,但按钮没有响应我的EXE文件,不知道数值数据格式是否有问题。
 
不能相应exe文件,你看看flashget,网络蚂蚁之类的就知道了<br>他们都是通过一个htm文件来启动com对象的
 
我查看了网络蚂蚁在注册表里的信息,<br>注册的button &nbsp;&amp;Download by NetAnts 的数据为<br>D:/PROGRA~1/NetAnts/NAGet.htm<br>HTM内容为<br>&lt;script language="VBScript"&gt;<br><br> On Error Resume Next<br> set NetAntsApi = CreateObject( "NetAnts.API" )<br> if err&lt;&gt;0 then<br> Alert("NetAnts not properly installed on this PC!")<br> else<br> set links = external.menuArguments.document.links<br> ReDim params(links.length*2)<br> params(0)=external.menuArguments.document.Url<br> for i = 0 to links.length-1<br> params(i*2+1)=links(i).href<br> params(i*2+2)=links(i).innerText <br> next <br> NetAntsApi.AddUrlList params<br>&nbsp; &nbsp; &nbsp; &nbsp; end if<br>&lt;/script&gt;<br>这里创建的对象应该不是COM对象吧,<br>在注册表找到<br>HKEY_CLASSES_ROOT/CLSID/Implemented Categories下<br>/ProgID &nbsp;数据为netants.api<br>/InprocServer32 数据为D:/Program Files/NetAnts/AntAPI.dll<br>在管理工具COM组件列表没找到相关组件<br>在管理工具其他地方也没有找到。<br><br>我想问既然不是COM组件,那createobject('netants.api')<br>是什么对象?<br>
 
多人接受答案了。
 

Similar threads

后退
顶部