Windows Host Editor

    • Beta
    • Open Source

    Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von HenryV.

      Windows Host Editor

      Name:
      Windows Host Editor

      Beschreibung:
      Verwalten der lokalen Hosts der Hosts.txt mit grafischer Oberfläche.

      Screenshot(s):
      GUI





      Verwendete Programmiersprache(n) und IDE(s):
      Visual C# 7.0
      Visual Studio 2017 Professional IDE

      Systemanforderungen:
      mind. Windows XP
      .NET Framework 4.0

      Systemveränderungen:
      Veränderung der Hosts Datei im Ordner %system32%\drivers\etc

      Download(s):
      Download BIN (21 kB)
      Download SRC (54 kB)

      Lizenz/Weitergabe:
      OpenSource; MIT Lizenz
      Hi,

      das Tool findet leider nicht alle Einträge.
      Kann's grad nicht testen weil die hosts Datei hier zur Bearbeitung gesperrt ist, aber es kann sein dass dein Tool entweder den letzten Eintrag "vergisst" oder aber die Einträge nur erkennt, wenn Hostname und IP mit TAB getrennt sind (bei mir ist der letzte Eintrag mit Leerzeichen getrennt).


      Link :thumbup:
      Hello World
      Hi @Link,
      Das dürfte nix mit tabs, etc. zu tun haben. Der parst das, egal wieviel leerzeichen zwischen target und alias stehen.

      Sourcecode schrieb:


      C#-Quellcode

      1. private void LoadFile(string src)
      2. {
      3. string[] lines = System.IO.File.ReadAllLines(src);
      4. HostContentDictionary dictionary = new HostContentDictionary();
      5. foreach (string line in lines)
      6. {
      7. if (line.StartsWith("#"))
      8. continue;
      9. if (string.IsNullOrWhiteSpace(line) || string.IsNullOrEmpty(line))
      10. continue;
      11. if (!line.Contains(" "))
      12. continue;
      13. string[] parts = line.RemoveLeadingSpaces().Split(' ');
      14. string target = "";
      15. string host = "";
      16. foreach (string part in parts)
      17. {
      18. if (string.IsNullOrEmpty(part) || string.IsNullOrWhiteSpace(part))
      19. continue;
      20. if (target == "")
      21. target = part;
      22. else if (host == "")
      23. host = part;
      24. }
      25. if (target.Isset() && host.Isset())
      26. {
      27. dictionary.Add(host, target);
      28. }
      29. }
      30. _dict = dictionary;
      31. }

      Hallo
      Das hat sehr wohl mit Tabulatoren zu tun.

      Zeile 11+12:
      Es wird überprüft ob die Zeile Leerzeichen enthält. Und wenn kein Leerzeichen vorhanden sind, sondern nur Tabulatoren, wird diese Zeile übersprungen.

      Zeile:13
      Die einzelnen Zeilen werden auch mit ' ' (Leerzeichen) gesplittet. Und wenn kein Leerzeichen vorhanden sind, sondern nur Tabulatoren, wird auch nichts gesplittet.

      Mein Vorschlag wäre Zeile 11-13 durch folgende zu ersetzten:

      C#-Quellcode

      1. string[] parts = line.Split(default(string[]), StringSplitOptions.RemoveEmptyEntries);


      Ein weiteres Manko finde ich ist, dass alle Kommentare beim Speichern entfernt werden.
      Aber sonst ein kleines simples Tool.

      Gruss HenryV