我有一个程序,该程序:
读取Chrome文件的历史记录,然后将该历史记录与文本文件进行比较,如果历史记录中的任何网站与文本文件中的网站相匹配,则MessageBox
出现,其中显示检测到的URL。
这是该程序中使用的代码
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Dim google As String = (Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\Google\Chrome\User Data\Default\History")
Dim fileName As String = DateTime.Now.Ticks.ToString
File.Copy(google, (Application.StartupPath + ("\" + fileName)))
Dim dt As New DataTable()
Using con As SQLiteConnection = New SQLiteConnection($"DataSource = {Application.StartupPath }\{fileName};Versio=3;New=False;Compress=True;")
Using cmd As New SQLiteCommand("select * from urls order by last_visit_time desc ", con)
con.Open()
Using dr As SQLiteDataReader = cmd.ExecuteReader()
dt.Load(dr)
End Using
End Using
End Using
Dim lstGoogleHistory As New List(Of String)
For Each row As DataRow In dt.Rows
lstGoogleHistory.Add(row("url").ToString)
Next
Dim WhiteListText As String = My.Computer.FileSystem.ReadAllText("websitelist.txt").ToString
Dim InWhiteList = From uri In lstGoogleHistory
Where uri.All(Function(x) WhiteListText.Contains(uri))
Select uri
For Each URL In InWhiteList
MessageBox.Show(URL)
Next
End Sub
效果很好,可以完成我想要的操作,但是,我在寻找要添加的另一个小功能时遇到了麻烦,即,如果检测到网站,则 URL位于关闭中。
尝试为此找到解决方案时遇到了很多麻烦,但是我发现我认为这不是一种很好的解决方法,而且,这给了我“拒绝访问”的例外使用时(是,我的程序以管理员身份运行。)
SendKeys.Send("^w")
是否可以使用 Chrome的任务管理器 来关闭标签页?如果是这样,该怎么办?