当前网页地址为:
下面一段是转帖过来的,应用在VB上,通过取得ie句柄获得ie的url,希望对你有帮助:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim dWinFolder As SHDocVw.ShellWindows
Set dWinFolder = New SHDocVw.ShellWindows
Dim objIE1 As SHDocVw.InternetExplorer
Dim ActID As Long
Dim myUrl as String
ActID = FindWindow("IEFrame", vbNullString)
For Each objIE1 In dWinFolder
'过滤掉windows资源管理器的窗口
If InStr(1, objIE1.FullName, "IEXPLORE.EXE", vbTextCompare) <> 0 Then
'是否是当前正在浏览的IE窗口
If objIE1.hWnd = ActID Then
'执行程序
myUrl = objIE1.LocationURL '取得地址
End If
End If
Next
建议你分析一下迅雷.
看它的IE右键菜单在注册表的什么地方
还有的是在注册表中分析那个菜单调用的.html
注意external.menuArguments.document是获取点击该菜单的页面句柄.知道了这个就好办事了.其它的就是普通的客户端脚本与网页的配合了.
多思考一下.
祝你成功
不过如果系统屏蔽了WSH,或者禁止了FSO那么就搞不定了
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim dWinFolder As SHDocVw.ShellWindows
Set dWinFolder = New SHDocVw.ShellWindows
Dim objIE1 As SHDocVw.InternetExplorer
Dim ActID As Long
Dim myUrl as String
ActID = FindWindow("IEFrame", vbNullString)
For Each objIE1 In dWinFolder