トップへ戻る

Autoitプログラミング

閲覧したWEBサイトの履歴を取得

WMIを利用して閲覧したWEBサイトの履歴(URL)を取得し、表示します。

 

_ArrayDisplay()
与えられた1次元または2次元の配列をリストビューに表示します。

 

#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

 

 

 

 

RamDisk等にTEMPフォルダを割り当てている場合、リストが表示されないことがあります。

 

よくある質問(FAQ)へ

 

その場合は Global Const $strPath = @TempDir & "\urllist.txt"の @TempDir を @ScriptDir などの別のパスに変更してください。