【问题标题】:Autohotkey: Identify Google Chrome vs Google ChromiumAutohotkey:识别 Google Chrome 与 Google Chromium
【发布时间】:2017-11-21 06:59:51
【问题描述】:

我似乎无法弄清楚

在自动热键上,有documentation 说明如何识别正在运行的窗口/程序。

Google Chrome 和 Google Chromium 都使用相同的 ahk_class 和相同的 .exe 名称 chrome.exe

如何使用winTitlewinGet 之类的东西来区分差异?我尝试查看 PID 值,但它们似乎不一致。

编辑通过 WinSpy++

使用winspy++,我做了一个简单的实验。 2 个 Chromium Windows 和 2 个 Chrome Windows,所以我可以有一个控制组。区别:

  • 实例句柄:Chrome 显示 0F2C0000,Chromium 显示 A2820000
  • 进程 ID:Chrome 显示 00003528 (13608),Chromium 显示 00001B74 (7028)
  • 线程 ID:Chrome 显示 00003524 (13604),Chromium 显示 00000220 (544)

【问题讨论】:

  • 如果您在两个浏览器中打开新选项卡或相同的页面/文件,Window Spy 会显示什么信息?
  • 我更新了问题以包含我在 winspy 上看到的内容
  • ID 值不是恒定的。每次程序运行时它们都会改变。尝试找出两个程序之间的明显差异(在 WinTitle、WinText 或 ahk_exe 进程名称/PATH 中)。
  • 有没有类似winSpy的工具可以检查这些东西,还是必须用ahk脚本才能检查这些东西
  • Window Spy 包含在 AutoHotkey 中。从脚本的托盘图标菜单或开始菜单启动它。

标签: google-chrome autohotkey


【解决方案1】:

在这种情况下,您有两种可能来区分这两个程序:

(1)使用SetTitleMatchMode 2和本程序所有窗口共有的标题部分:

SetTitleMatchMode 2
If WinExist("- Chromium")
    WinActivate

(2) 使用“ahk_exe Path”:

If WinExist("ahk_exe full_path_of_the_executable_chrome.exe")
    WinActivate

【讨论】:

  • 谷歌浏览器是C:\Program Files (x86)\Google\Chrome\Application\chrome.exe,铬是C:\Users\user\Downloads\chrome-win32。花了我一段时间才找到铬,不得不去任务管理器→详细信息→chrome.exe(铬)→打开文件位置
【解决方案2】:

要获取活动窗口进程的完整路径,请使用:

F1::
    WinGet, Path, ProcessPath, A
    MsgBox, %Path%
return

【讨论】:

    【解决方案3】:

    使用 Windows Spy(带有自动热键)。和winspy++不一样

    要访问此处找到的 Windows Spy:

    不同之处见WinTitle

    【讨论】:

    • 最后一个问题:每个程序安装在哪个目录?尝试找到两个可执行文件的完整路径,以便使用“ahk_exe Path”来识别每个程序窗口。
    • ahk 真的可以帮我获取路径名吗?我试过F14:: MsgBox, ahk_exe Path 不起作用。
    • 看我的下一个答案,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 1970-01-01
    • 2013-10-28
    • 2011-01-08
    • 2010-12-07
    • 1970-01-01
    相关资源
    最近更新 更多