Fichier hosts en cours d'utilisation
Bonjour,
je voudrais ajouter des sites à bloquer au fichier hosts (un très grand nombre de site, plus de 85 000 minimum).
Je suis donc obligé de désactiver le service "Dnscache" car la navigation devient impossible aussi non.
Le problème n'est pas là, en effet lors de l'ajout de toutes ces lignes, j'ai un message d'erreur comme quoi le fichier hosts est en cours d'utilisation. C'est bien une erreur de mon code mais je ne vois pas d'où cela peut venir. J'espère que quelqu'un verra le problème qui est présent dans mon code.
Merci.
Code:
1 2 3 4
| Private Sub ButtonPatcherHosts_Click(sender As Object, e As EventArgs) Handles ButtonPatcherHosts.Click, ButtonPatcherHosts.Click
Dim ThreadPatcherHosts As New Threading.Thread(AddressOf PatcherHosts)
ThreadPatcherHosts.Start()
End Sub |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| If CheckBoxBloquerSitesDangereux.Checked Then
Try
Dim StreamReaderHosts As New StreamReader("C:\Windows\System32\Drivers\etc\hosts")
Dim StreamReaderListe As New StreamReader("C:\Users\Clément\Documents\ListeDeSiteContenusDangereux.txt")
Dim ligne As String
Dim ligneExistante As String = StreamReaderHosts.ReadToEnd
StreamReaderHosts.Close()
Dim sw As StreamWriter = New StreamWriter("C:\Windows\System32\Drivers\etc\hosts", True)
Do
ligne = StreamReaderListe.ReadLine
'on verifie si ligne n'est pas vide
If ligne = String.Empty Then
sw.Close()
Exit Do
End If
If Not ligneExistante.Contains(ligne) Then
sw.WriteLine(ligne)
End If
Loop Until ligne Is Nothing
StreamReaderListe.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End If
If CheckBoxBloquerSitesPublicitaires.Checked Then
Try
Dim StreamReaderHosts As New StreamReader("C:\Windows\System32\Drivers\etc\hosts")
Dim StreamReaderListe As New StreamReader("C:\Users\Clément\Documents\ListeDeSiteContenusPublicitaires.txt")
Dim ligne As String
Dim ligneExistante As String = StreamReaderHosts.ReadToEnd
StreamReaderHosts.Close()
Dim sw As StreamWriter = New StreamWriter("C:\Windows\System32\Drivers\etc\hosts", True)
Do
ligne = StreamReaderListe.ReadLine
'on verifie si ligne n'est pas vide
If ligne = String.Empty Then
sw.Close()
Exit Do
End If
If Not ligneExistante.Contains(ligne) Then
sw.WriteLine(ligne)
End If
Loop Until ligne Is Nothing
StreamReaderListe.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End If
If CheckBoxBloquerSitesCaracteresSexuels.Checked Then
Try
Dim StreamReaderHosts As New StreamReader("C:\Windows\System32\Drivers\etc\hosts")
Dim StreamReaderListe As New StreamReader("C:\Users\Clément\Documents\ListeDeSiteCaracteresSexuels.txt")
Dim ligne As String
Dim ligneExistante As String = StreamReaderHosts.ReadToEnd
StreamReaderHosts.Close()
Dim sw As StreamWriter = New StreamWriter("C:\Windows\System32\Drivers\etc\hosts", True)
Do
ligne = StreamReaderListe.ReadLine
'on verifie si ligne n'est pas vide
If ligne = String.Empty Then
sw.Close()
Exit Do
End If
If Not ligneExistante.Contains(ligne) Then
sw.WriteLine(ligne)
End If
Loop Until ligne Is Nothing
StreamReaderListe.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End If
End Sub |