因此,正如主题所述,我想启动我的 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
希望有帮助。