V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Get Google Chrome
Vimium · 在 Chrome 里使用 vim 快捷键
cuicuiv5
V2EX  ›  Chrome

[求助] 如何让 Chrome 全局带参数启动 ?

  •  
  •   cuicuiv5 · 2021-12-29 00:09:30 +08:00 · 2637 次点击
    这是一个创建于 1089 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情是这样的, 我一直使用的截图工具 Snipaste 要想实现在浏览器中自动框选对象需要启用 chrome://accessibility 下的两个选项,而这两个选项重启之后就会失效, 官方推荐的方法是在快捷方式后面添加启动参数 --force-renderer-accessibility , 但是这样只有通过快捷方式启动有效, 其他应用调用 chrome 的时候就失效了, 我在网上找到的解决方法是在注册表中修改

    HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
    

    在后面添加参数即可:

    T6mUUS.png

    一切看起来很好, 但我如此操作之后再次启动 Chrome 发现并没有起作用, 🤣🤣请问各位 V 友这种情况该如何解决?

    我的环境是 win10 最新版+Chrome 最新版

    13 条回复    2024-12-08 22:37:26 +08:00
    ysc3839
        1
    ysc3839  
       2021-12-29 05:02:54 +08:00 via Android
    看看 https 对应的是 ChromeHTML 吗?
    dzdh
        2
    dzdh  
       2021-12-29 09:02:49 +08:00   ❤️ 1
    chrome.exe 重命名 成别的

    go 写个启动器 叫 chrome.exe
    cuicuiv5
        3
    cuicuiv5  
    OP
       2021-12-29 11:24:17 +08:00
    @ysc3839 不是,我这里是 ie

    [![T6XXz4.md.png]( https://s4.ax1x.com/2021/12/29/T6XXz4.md.png)]( https://imgtu.com/i/T6XXz4)
    [![T6XvQJ.md.png]( https://s4.ax1x.com/2021/12/29/T6XvQJ.md.png)]( https://imgtu.com/i/T6XvQJ)

    可否提供一个修改思路我尝试下
    cuicuiv5
        4
    cuicuiv5  
    OP
       2021-12-29 11:25:48 +08:00
    @dzdh 这也是一种思路, 但我现在很不解就是为什么别人的解决方案在我这里不好用...
    ysc3839
        5
    ysc3839  
       2021-12-29 12:05:36 +08:00
    @cuicuiv5 我看了下我这里,默认浏览器设置成 Chrome 的情况下,https 也是 IE ,估计有特殊处理吧。不然试试搜索注册表里的 chrome.exe 然后全部改掉。
    dzdh
        6
    dzdh  
       2021-12-29 12:54:26 +08:00   ❤️ 1
    @cuicuiv5

    ```
    package main

    import (
    "fmt"
    "os"
    "os/exec"
    "time"
    )

    func main() {

    args := make([]string, 1)

    args[0] = "--force-renderer-accessibility"
    args = append(args, os.Args[1:]...)

    err := exec.Command("./chrome.exe", args...).Start()
    if err != nil {
    fmt.Println("ERROR:", err)
    time.Sleep(10 * time.Second)
    }
    }
    ```

    不成敬意
    cuicuiv5
        7
    cuicuiv5  
    OP
       2021-12-30 14:25:42 +08:00
    @dzdh 哇塞 ! 感谢大佬 !
    尝试了一下然后稍作修改成功了, 一开始单独运行正常, 但是被其他软件调用提示找不到文件 , 将./chrome.exe 换成我 chrome 的绝对路径就可以正常使用了.
    azusematsuri
        8
    azusematsuri  
       2022-01-01 14:55:34 +08:00 via Android
    @dzdh go 还能这么用,涨姿势了
    abccccabc
        9
    abccccabc  
       14 天前
    楼主,这个启动器能不能加其它参数?能不能开源一下? chrome 系列太需要这玩意了。
    cuicuiv5
        10
    cuicuiv5  
    OP
       14 天前
    @abccccabc 六楼大佬的源代码就可行,args[0] = "--force-renderer-accessibility"改成你想要的参数就行
    abccccabc
        11
    abccccabc  
       14 天前
    问题 1:我想把这个弄成 exe 文件,作为便携版,要怎样改代码?放到任何目录,都会自动找同目录的 chrome.exe 文件?
    问题 2:args[0] = "--force-renderer-accessibility" 这个参数是否可以继续加更多参数?加了参数还要改其它参数吗?
    cuicuiv5
        12
    cuicuiv5  
    OP
       13 天前
    @abccccabc #11

    1. 建议使用绝对路径
    2. 参数后面加空格继续添加新参数就可以了

    使用方法:
    将下列代码修改后编译成 exe ,放置到 C:\Program Files\Google\Chrome\Application\目录,将原有的 chrome.exe 修改为_chrome.exe ,将编译后的启动器命名为 chrome.exe, 注册表不需要进行更改
    即可实现全局带参数启动

    package main

    import (
    "fmt"
    "os"
    "os/exec"
    "time"
    )

    func main() {

    args := make([]string, 1)

    args[0] = "--force-renderer-accessibility --参数 2 --参数 3"
    args = append(args, os.Args[1:]...)

    err := exec.Command("C:\\Program Files\\Google\\Chrome\\Application\\_chrome.exe", args...).Start()
    if err != nil {
    fmt.Println("ERROR:", err)
    time.Sleep(10 * time.Second)
    }
    }

    你去查一下如何编译 go 为 exe 就好啦,也可以让 ai 给你改写一下实现从一个配置文件中读取启动参数
    abccccabc
        13
    abccccabc  
       13 天前
    多谢,我试下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2551 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 04:12 · PVG 12:12 · LAX 20:12 · JFK 23:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.