无需外部软件即可启动 Google Chrome 等程序

无需外部软件即可启动 Google Chrome 等程序

因此,正如主题所述,我想启动我的 chrome 并让窗口始终保持在最顶部,使用脚本或其他东西可以实现吗?我在 Google 上搜索了一下该主题,如果问题得到解答,它们大多是指 autohotkey,但这不是我想要的。是否可以编写一个小脚本,让程序始终保持在最顶部?如果可行,我如何使用特定 URL 启动它?

操作系统:Windows 10

背景:如果游戏不支持附加组件,我经常会看到“始终在顶部”的程序,这些程序可以拖到游戏上方,这样你就可以在游戏顶部获得附加组件。就我而言,它是“rust”,官方网站运行实时地图,但游戏没有小地图,所以我想,让 chrome 始终在顶部并将其拖到游戏上方,这样我就可以获得小地图 :)

答案1

您可以尝试这个 powershell 脚本。$exe如果需要,请调整路径。

# Your executable here
# $exe = "notepad"
$exe = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"

function Set-TopMost($handle) {
  $FnDef = '
  [DllImport("user32.dll")]
  public static extern bool SetWindowPos(int hWnd, int hAfter, int x, int y, int cx, int cy, uint Flags);
  ';
  $user32 = Add-Type -MemberDefinition $FnDef -Name 'User32' -Namespace 'Win32' -PassThru
  $user32::SetWindowPos($handle, -1, 0,0,0,0, 3)
}

$pname = [System.IO.Path]::GetFileNameWithoutExtension($exe)

$p = (Get-Process $pname -ErrorAction "SilentlyContinue") | ? { $_.MainWindowHandle -ne 0 }
if ($p -eq $null) {
  Write-Host "Process '$pname' not found, starting: $exe"
  & $exe
  Write-Host "Waiting for process '$pname'"
  while ($p -eq $null) {
    sleep -Milliseconds 100
    $p = (Get-Process $pname -ErrorAction "SilentlyContinue") | ? { $_.MainWindowHandle -ne 0 }
  }
}

$p.MainWindowHandle
Set-TopMost $p.MainWindowHandle

答案2

为了让 Chrome 保持领先地位,请尝试这款 Chrome 应用: https://chrome.google.com/webstore/detail/window-options-sample/cfcgoifcnpnadlhhoolkemkjkhoajfmk

或者您可以下载一个在 Windows 上具有许多有用功能的独立程序,名为“OnTopReplica”,可以从以下网址免费下载:https://ontopreplica.codeplex.com

对于 Chrome 启动时打开特定页面,您可以在 Chrome 设置中的偏好设置中进行更改,或者在 Chrome.exe 快捷方式中添加命令行开关:

--new-tab-page-1 http://www.yoursite.com

希望有帮助。

相关内容