做一个Web页面上交互的ActiveX Dll
转载请注明:作者:糯米糊糊(huyoo353),来源:http://blog.csdn.net/huyoo/
过几天再写...
-----2006.04.02
准备工作
开发环境:VB6.0+sp6 GreenBrowser NotePad WinXp+sp1
前导知识:VB面向对象编程,Activex Dll,VBScript
开发步骤:
1.打开vb6.0,使用向导新建一个Activex Dll,工程属性设置为
工程类型:ActiveX Dll
启动对象:(None)
工程名:SAP
描述:保存当前Web页面上的所有图片
线程模块:单元线程
自动新建的那个Class,名字改为SaveAllPics
Instancing 设置为5-MultiUse
(以上设置大部分向导已经设置好了,只需要改改名字就行)
2.添加一个窗体(From),名字为frmChoose
3.保存工程,免得做无用功
3.添加代码
SaveAllPics.cls
'-------------------------
Option Explicit
Private frm As frmChoose
Private Sub Class_Terminate()
If IsObject(frm) = True Then
Set frm = Nothing
End If
End Sub
Public Sub LoadLinks(arr As Variant)
Dim links() As String
Dim count
MsgBox Str(VarType(arr))
If IsArray(arr) Then
MsgBox "是个数组"
End If
count = UBound(arr)
MsgBox count
ReDim links(count)
Dim i As Integer
For i = 0 To count - 1
'MsgBox arr(i)
links(i) = arr(i)
Next
Set frm = New frmChoose
For i = 0 To count - 1
If links(i) <> "" Then
frm.List1.AddItem links(i)
End If
Next
frm.Show 1
End Sub
'-------------------------
frmChoose.frm
'------------------------
Option Explicit
Private Sub List1_Click()
Dim i As Integer
Dim s As String
For i = 0 To List1.ListCount - 1
If List1.Selected(i) = True Then
s = s & List1.List(i) & vbNewLine
End If
Next
Text1.Text = s & List1.SelCount
End Sub
'-----------------------
4.调试编译为SAP.dll(请用管理员权限编译,否则VB自动注册sap.dll将会失败)
5.编写VBScript脚本
(1)到GreenBrowser的Plugin目录下,新建一个AllJpg的目录
(2)建一个文件alljpg.htm
内容:
---------------------------------------
<script language="vbscript">
On Error Resume Next
Set objs = document.links
l = objs.length
MsgBox l
Dim a()
ReDim a(l)
MsgBox UBound(a)
For i = 0 To l - 1
a(i) = objs(i).href
Next
MsgBox a(0)
Dim SAP
Set SAP = CreateObject("sap.SaveAllPics")
If SAP Then
MsgBox "suc"
SAP.LoadLinks a
Else
MsgBox Err.Description & " -- 清检查DLL文件名称、类名称、是否注册等!"
End If
Set SAP= Nothing
</script>
--------------------------------
(3)再弄个图标alljpg.ico
(4)建一个Plugin.ini
内容:
-------------------
[General]
Name=ViewAllJPG_link
Author=糯米糊糊(huyoo353)
Comments=查看本页面所有的JPG的URL地址
FileName=alljpg.htm
HotIcon=alljpg.ico
Type=BUTTON
ModuleType=SCRIPT
-------------------
6.在GreenBrowser中添加扩展工具Alljpg.
工具->扩展工具栏->设置扩展工具栏...
然后插入上面的那个插件
调试一下
在GreenBrowser中打开 帮助-〉GreenBrowser帮助
测试插件
蹦出几个框之后,会弹出下图安全性警告,你知道它是安全的,所以选是
打开 帮助-〉作者主页
测试插件,会蹦出下图
说明访问远程文件,创建对象sap.SaveAllPics失败了
最终就是想说,上面的那个帮助是本地的,创建sap.SaveAllPics对象成功了,
而作者主页是远程的,最终创建sap.SaveAllPics失败了,具体原因我还没有找到,
希望看到这篇文章的人能够和我一起探讨。
最终版----2006.04.03