假设我正在运行一个浏览器窗口,窗口的标题类似于“此处为标题 - 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 的程序,具有丰富的功能。宏快运功能非常强大。作为这项研究的一部分,我发现的一个功能是能够使用当前窗口的标题栏加载字符串变量。 https://www.macros.com/help/Index.htm 我使用“标题栏”作为搜索词,然后单击“设置字符串变量”条目。在结果中向下滚动显示:
将值设置为最顶部的窗口标题
检查当前位于所有其他窗口之上的窗口,获取标题栏中的名称(即窗口标题)并将其放入变量中。
我缺乏脚本技能来建议如何处理字符串变量,因为任何操作都会改变窗口焦点,但您可能会发现整个程序比我更灵活。