Fenstertitel nach mehreren Kriterien durchsuchen

  • Hallo Gemeinde,

    ich stehe mir gerade selbst total im Weg ;( Mit

    Code
    Local $aList = WinList("[REGEXPTITLE:(?i)(.*HWiNFO.* - System*)]")
    Local $sTitel = $aList[1][0]
    $s_TitelText = StringInStr($sTitel, "Zusammenfassung", 0)

    lese ich den Titel des HWiNFO-Fensters aus und suche das Wort Zusammenfassung.
    Damit weiss ich, ob das Fenster in deutscher Sprache dargestellt wird oder eben nicht.

    Das Problem dabei : Bei annähernd jeder neuen Version heisst der Titel anders.
    In neuster Version heisst es nicht mehr System - Zusammenfassung sondern System-Überblick.
    Es gab auch in der Vergangenheit die Begriffe mit und ohne Satzzeichen.

    Ich suche eine elegante Möglichkeit den Seiten_Titel nach den möglichen deutschen Begriffen zu durchsuchen.
    Vielleicht so etwas wie die Begriffe in ein Array zu codieren und dann mittels Schleife
    den Seiten-Titel mit den Items des Arrays zu durchsuchen.

    Hat jemand eine bessere/andere Idee?

  • Hallo Aspirinjunkie,

    vielen lieben Dank für den Tipp. :klatschen:

    ich habe es getestet und es funzt super. Allerdings muss ich anführen, dass es nur dann zuverlässig funzt, wenn man
    folgenden Suchstring verwendet:

    Code
    Local $aList = WinList("[REGEXPTITLE:(?i)(.*HWiNFO.* - System*|Zusammenfassung|Übersicht)]")

    Verwendet man nur: Local $aList = WinList("[REGEXPTITLE:(?i)(Zusammenfassung|Übersicht)]")

    hat DebugArraydisplay mir als Seitentitel die geöffnete Exceldatei angezeigt,
    die ebenfalls das Wort Übersicht im Titel hat(Zufall das die gerade auch geöffnet war :part: ), nicht aber die HWinFo-Seite :rock:

  • Hm, ich glaube das ist doch nicht das richtige für mich.

    ich habe das Proggi nochmals gestartet mit Local $aList = WinList("[REGEXPTITLE:(?i)(.*HWiNFO.* - System*|Zusammenfassung|Übersicht)]").

    Dieses Mal hat er mir im Array sowohl die HWinfo-Seite als auch die Exceldatei angezeigt.
    Um zu testen wenn HWiNFO in englisch aus geführt wird(d.h. Zusammenfassung und Übersicht kommen nicht vor!),
    zeigt er mir aufgrund des Suchstrings *HWiNFO.* - System* trotzdem im Array den Titel an.
    Ich dachte zunächst das er nur dann den Fenstertitel anzeigt, wenn der Titel entweder in Verbindung mit Zusammenfassung oder Übersicht gefunden wird.

    Dann bleibe ich bei der Methode mit den Suchbegriffen als Array und suche mit der For-Schleife:

  • Versuch es mal mit folgendem Regex: WinList("[REGEXPTITLE:(.*HWiNFO.* - System) *(?i)(Zusammenfassung|Übersicht)]")

    Dann sollte auch die vorherige Variante passen (nur grob mit regex101 getestet, also nicht sicher ob es passt).

  • Natürlich habe ich WinTitleMatchMode schon benutzt. Aber nie mit RegEx. Die Doku habe ich mir wahrscheinlich zuletzt 2012 angeschaut 🙈.
    Eines ist sicher. Von Tag 1 meiner Zugehörigkeit zu diesem Forum bis zum Ende meiner Tage. Ich konnte und werde immer von AsprinJunkie lernen.
    Praktisch jeder Beitrag ist wertvoll! Danke 👏

    Grüße autoiter