找回密码
 加入
搜索
查看: 4180|回复: 6

[网络通信] 关于ie 历史记录 最后一个访问的地址 问题

  [复制链接]
发表于 2012-4-15 19:00:36 | 显示全部楼层 |阅读模式
#include <Array.au3>
#include <file.au3>
 
Global $WshShell, $Shell, $FileSystem, $History_Url, $History_Txt, $UrlList
Global Const $strPath = @TempDir & "\urllist.txt"
 
$WshShell = ObjCreate("WScript.Shell")
$Shell = ObjCreate("Shell.Application")
$FileSystem = ObjCreate("Scripting.FileSystemObject")
 
$History_Url = $Shell.Namespace($WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\history"))
$History_Txt = $FileSystem.CreateTextFile($strPath, True)
 
RecSrch($History_Url)
 
_ArrayDisplay($UrlList, 'URL')
 
Func RecSrch($obj)
        For $objItem In $obj.Items()
                If $objItem.IsFolder() Then
                        $objSubFolder = $objItem.GetFolder
                        For $objSubItem In $objSubFolder.Items()
                                If $objSubItem.IsFolder = False Then
                                        If StringLeft($objSubFolder.GetDetailsOf($objSubItem, 0), 4) = 'http' Then _
                                                        $History_Txt.WriteLine($objSubFolder.GetDetailsOf($objSubItem, 0))
                                EndIf
                        Next
                        RecSrch($objSubFolder)
                EndIf
        Next
        _FileReadToArray($strPath, $UrlList)
EndFunc   ;==>RecSrch
这个代码可以显示 所有历史记录  是按 名称排序的

能否按访问时间呢?
发表于 2012-4-15 21:27:49 | 显示全部楼层
你可以自己打开这个文件夹
每个文件夹下是访问的url快捷方式文件 可以获取到文件的创建修改时间什么的
再对其中的进行排列
发表于 2012-4-16 09:48:40 | 显示全部楼层
自己改改吧.
#include <Array.au3>

Global $WshShell, $Shell, $FileSystem, $History_Url, $UrlList[1][2], $i = 0

$WshShell = ObjCreate("WScript.Shell")
$Shell = ObjCreate("Shell.Application")
$FileSystem = ObjCreate("Scripting.FileSystemObject")
$History_Url = $Shell.Namespace($WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\history"))

RecSrch($History_Url)

;~ ReDim $UrlList[$i][2]
_ArrayDisplay($UrlList, 'URL')

Func RecSrch($obj)
        For $objItem In $obj.Items()
                If $objItem.IsFolder() Then
                        $objSubFolder = $objItem.GetFolder
                        For $objSubItem In $objSubFolder.Items()
                                If $objSubItem.IsFolder = False Then
                                        If StringLeft($objSubFolder.GetDetailsOf($objSubItem, 0), 4) = 'http' Then
                                                $UrlList[$i][0] = $objSubFolder.GetDetailsOf($objSubItem, 0)
                                                $UrlList[$i][1] = $objSubFolder.GetDetailsOf($objSubItem, 2)
                                                ClipPut($objSubFolder.GetDetailsOf($objSubItem, 2))
                                                $i += 1
                                                ReDim $UrlList[$i + 1][2]
                                        EndIf
                                EndIf
                        Next
                        RecSrch($objSubFolder)
                EndIf
        Next
EndFunc   ;==>RecSrch

评分

参与人数 1金钱 +17 贡献 +2 收起 理由
user3000 + 17 + 2 COOL

查看全部评分

发表于 2012-4-16 14:32:19 | 显示全部楼层
回复 3# lixiaolong


    对象从哪里学的?
发表于 2012-4-16 19:19:31 | 显示全部楼层
回复 4# haijie1223

其实这个代码是我学过的vbs的一部分拼起来的.
然后用工具转换成au3,(论坛有个叫VAConvert的工具),转换后再修改代码.

都是在网上学到的
 楼主| 发表于 2012-4-16 21:15:19 | 显示全部楼层
我发现不是很准.你可以看看Ie自带的历史纪录
 楼主| 发表于 2012-4-16 21:15:22 | 显示全部楼层
我发现不是很准.你可以看看Ie自带的历史纪录
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-4 08:21 , Processed in 0.083653 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表