開いているアプリケーション ウィンドウのタイトルを含む .txt ファイルを継続的に更新しますか?

開いているアプリケーション ウィンドウのタイトルを含む .txt ファイルを継続的に更新しますか?

ブラウザ ウィンドウを実行していて、ウィンドウのタイトルが「タイトル - Mozilla Firefox」のようなものだとします。このウィンドウのタイトルを含む .txt ファイルを常に更新したいのですが、つまり、タイトル バーが変わると .txt ファイルも変わる必要があります (瞬時である必要はなく、1 秒ごとに変わるかもしれません)。

Linux ではwmctrl少しのスクリプトでこれが可能であることは既に知っていますが、Windows 10 でもこれを実行したいと思います。

これを作成するにはどうすればいいでしょうか? どのようなアプリケーションや SDK が必要ですか?

編集:私が最終的に作成したPowershellスクリプトを知りたい方は、どうぞ.ps1として保存して実行します(必ずPowershellスクリプトを有効にする

答え1

これでPowerShellを使い始めることができます。コードは MSDNブログまた、Keith Hill による StackOverflow の回答からも引用します。彼の答えを見るパラメータの説明。

$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 }

答え2

これは最もエレガントな提案ではないと思いますが、特にスクリプトの作成に慣れている場合は、機能する可能性があります。マクロエクスプレスプロWindowsで動作し、充実した機能を備えたプログラムです。ループとロジックコントロールはマクロエクスプレス非常に強力です。この調査の一環として私が発見した機能の 1 つは、現在のウィンドウのタイトル バーを使用して文字列変数を読み込む機能です。 https://www.macros.com/help/Index.htm 検索語として「タイトル バー」を使用し、「文字列変数の設定」エントリをクリックしました。結果を下にスクロールすると、次の内容が表示されます。

値を最上部のウィンドウタイトルに設定

現在他のすべてのウィンドウよりも上にあるウィンドウを調べ、キャプション バーにある名前 (つまり、ウィンドウ タイトル) を取得して変数に格納します。

今後、何らかのアクションを実行するとウィンドウのフォーカスが変更されるため、文字列変数をどのように処理するかを提案するスクリプト作成スキルが不足していますが、プログラム全体では私よりも柔軟性に気付くかもしれません。

関連情報