Постоянно обновлять.txt файл с заголовком открытого окна приложения?

Допустим, у меня запущено окно браузера, и заголовок окна выглядит примерно так: "Заголовок здесь - Mozilla Firefox". Я хочу постоянно обновлять файл.txt, который содержит заголовок этого окна, то есть файл.txt должен меняться при изменении строки заголовка (не обязательно мгновенно, может быть, каждую 1 секунду).

Я уже знаю, что это возможно в Linux с wmctrl и немного сценариев, но я хотел бы сделать это на Windows 10.

Как я могу сделать это? Какие приложения или SDK мне понадобятся?

РЕДАКТИРОВАТЬ: Если кому-то любопытно увидеть сценарий Powershell, я закончил, вот и все. Сохраните его как файл.ps1 для запуска (и обязательно включите сценарии Powershell.)

2 ответа

Решение

Это должно помочь вам начать использовать PowerShell. Код был адаптирован из блога MSDN и из ответа 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 }

Я подозреваю, что это не самое элегантное предложение, но оно может сработать, особенно если вам удобно создавать сценарии. Macro Express Pro - это программа, которая работает с Windows и обладает существенными функциями. Циклическое и логическое управление в Macro Express довольно мощное. Одной из особенностей, которые я обнаружил в рамках этого исследования, является возможность загрузки строковой переменной в строку заголовка текущего окна. https://www.macros.com/help/Index.htm Я использовал "строку заголовка" в качестве условия поиска и нажал на запись "Задать строковую переменную". Прокрутка вниз в результатах показывает:

Установить значение для верхней части самого заголовка окна

Исследует окно, которое в настоящее время находится поверх всех остальных, берет имя, которое находится на панели заголовка (то есть заголовок окна), и помещает его в переменную.

Мне не хватает навыков написания сценариев, чтобы предлагать, как впредь обрабатывать строковую переменную, поскольку любые действия могли бы изменить фокус окна, но вы можете обнаружить большую гибкость, чем я, в общей программе.

Другие вопросы по тегам