每 10 分钟自动最大化 Google Chrome

每 10 分钟自动最大化 Google Chrome

由于我的工作性质,我需要每 10 分钟检查一次 chrome 浏览器,然后最小化浏览器并进行输入工作。通常我会使用计时器或警报,但即使我正在使用不同的应用程序(如 excel),现有的最小化到任务栏的 chrome 浏览器是否会自动最大化?

我使用 Tinytask 创建了一个宏并对其进行了任务调度。它有时有效,有时无效。正在寻找原生 Windows 分辨率。

请帮忙。

答案1

您可以将其保存为类似脚本MyScript.ps1并使用 powershell 运行它:

# maximizes chrome every 10 minutes
Add-Type -name NativeMethods -namespace Win32 -MemberDefinition '
  [DllImport("user32.dll")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);'

While ($true) {
  Write-Host 'Waiting for 10 minutes'
  Start-Sleep -Seconds 600

  # Find most recent chrome window
  $Window = (Get-Process chrome | Where MainWindowHandle -NE 0)[0].MainWindowHandle

  # Maximize window and activate
  [Win32.NativeMethods]::ShowWindowAsync($Window,3) | Out-Null

  Write-Host "Maximized chrome window $window"
}

# other ShowWindow values like Minimize (2) here: 
# https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showwindow

这将每 10 分钟最大化一次您的 chrome 窗口,直到您关闭 powershell 窗口。如果您打开第二个 chrome 窗口,它将选择最新的一个

答案2

这不是原生的 Windows 应用程序,但很有效:使用 Nirstoft 的小型近红外命令app 激活应用程序窗口,使用任务管理器调用它,或者在具有无限循环的 .bat 文件中调用它,暂停 600 秒。

"C:\Program Files (x86)\NirSoft\NirCmd\nircmd" win activate process <process.exe>

例如,我想让 Firefox 单实例,因此使用以下脚本启动它:

@echo off
tasklist | findstr "firefox.exe"
if %errorlevel% equ 0 goto running
if %errorlevel% equ 1 start " " "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
exit

:running
"C:\Program Files (x86)\NirSoft\NirCmd\nircmd" win activate process firefox.exe 
exit

如果 Firefox 未运行,则启动它;如果已运行,则将其置于前面win 激活进程

相关内容