Aktualisieren Sie ständig eine .txt-Datei mit dem Titel des geöffneten Anwendungsfensters?

381
RobotUnderscore

Angenommen, ich betreibe ein Browserfenster und der Titel des Fensters ist etwa wie "Title Here - Mozilla Firefox". Ich möchte eine TXT-Datei, die den Titel dieses Fensters enthält, ständig aktualisieren. Das heißt, die TXT-Datei sollte sich ändern, wenn sich die Titelleiste ändert (muss nicht sofort sein, möglicherweise jede Sekunde).

Ich weiß bereits, dass dies unter Linux mit wmctrlein wenig Scripting möglich ist, aber ich möchte dies unter Windows 10 tun.

Wie kann ich das machen? Welche Anwendungen oder SDKs würde ich benötigen?

BEARBEITEN: Wenn jemand neugierig auf das Powershell-Skript ist, bei dem ich gelandet bin, dann geht es los . Speichern Sie es als .ps1 zur Ausführung (und aktivieren Sie Powershell-Skripts .)

3

2 Antworten auf die Frage

4
DrMoishe Pippik

Dies sollte Ihnen den Einstieg in PowerShell erleichtern. Der Code wurde von einem MSDN-Blog und einer Antwort von Stack Hill von Keith Hill angepasst . Siehe seine Antwort für die Parameterbeschreibung.

$period = [timespan]::FromSeconds(5) $lastRunTime = [DateTime]::MinValue while (1) { while ((Get-Date) - $lastRunTime -lt $period) { Start-Sleep -Milliseconds 500 } $lastRunTime = Get-Date Get-Process |where {$_.MainWindowTitle} |format-table MainWindowTitle –AutoSize > c:\users\username\title.txt }

0
fred_dot_u

Ich vermute, dass dies nicht der eleganteste Vorschlag ist, der aber funktionieren könnte, insbesondere wenn Sie mit der Erstellung von Skripts vertraut sind. Macro Express Pro ist ein Programm, das mit Windows arbeitet und über umfangreiche Funktionen verfügt. Die Schleifen- und Logiksteuerungen in Macro Express sind recht mächtig. Eine der Funktionen, die ich im Rahmen dieser Recherche entdeckt habe, ist die Möglichkeit, eine String-Variable mit der Titelleiste des aktuellen Fensters zu laden. https://www.macros.com/help/Index.htm Ich habe "Titelleiste" als Suchbegriff verwendet und auf den Eintrag "Set String Variable" geklickt. Das Scrollen nach unten in den Ergebnissen zeigt:

Legen Sie Wert auf die meisten Fenstertitel fest

Untersucht das Fenster, das sich aktuell über allen anderen befindet, nimmt den Namen, der sich in der Titelleiste (dh der Fenstertitel) befindet, und platziert ihn in einer Variablen.

Mir fehlt die Scripting-Fähigkeit, um vorzuschlagen, wie die Zeichenfolgenvariable fortlaufend verarbeitet werden soll, da dann jede Aktion den Fensterfokus ändern würde. Möglicherweise entdecken Sie jedoch mehr Flexibilität als ich im Gesamtprogramm.