Google chrome Google Chrome--新窗口开关忽略--窗口位置和--窗口大小

Google chrome Google Chrome--新窗口开关忽略--窗口位置和--窗口大小,google-chrome,process,Google Chrome,Process,我试图通过命令行(通过C#)控制新生成的Google Chrome窗口的大小和位置 我的命令行最终看起来像: --new-window --window-position=100,100 --window-size=800,600 www.UrlToOpen.com 然而,新窗口只是在上一个Chrome窗口的启动位置上方打开 我期待的最终结果是能够在单独的窗口中启动多个具有特定位置和大小的Google Chrome实例。到目前为止,我能够做到这一点的唯一方法是指定每个实例都有自己的——user

我试图通过命令行(通过C#)控制新生成的Google Chrome窗口的大小和位置

我的命令行最终看起来像:

--new-window --window-position=100,100 --window-size=800,600 www.UrlToOpen.com
然而,新窗口只是在上一个Chrome窗口的启动位置上方打开

我期待的最终结果是能够在单独的窗口中启动多个具有特定位置和大小的Google Chrome实例。到目前为止,我能够做到这一点的唯一方法是指定每个实例都有自己的
——user data dir
。然而,考虑到一个用户可能安装了多少扩展,这并不理想,也不是最好的用户体验


有人有什么建议吗?

如果Chrome没有编程允许这样做,你只有一个选择

  • 创建流程并保留流程对象
  • 用于获取新创建的窗口(可能需要使用循环和,或)
  • 使用本机函数将窗口定位到需要的任何位置

  • 本机钩子可用于检测窗口的创建,但这要求您创建非托管DLL。

    我有另一个想法,为什么不使用chrome扩展来处理定位

    背景:我们遇到了相关的困难。在windows中打开多个文档并需要放置在其他监视器中的内部webapp。 出于安全原因,javascript不支持这一点,并且只有本机扩展才能正确处理选项卡/窗口对象

    因此,我们创建了一个开源的chrome扩展来实现这一点:跨多监视器设置灵活的windows位置

    也许您更感兴趣的是使用预定义模板的功能。模板文件位于您喜欢的任何Web服务器中,因此可以轻松地在不同用户之间共享

    铬合金扩展称为“多窗口定位器”,其完全免费。你可以在chrome商店买到

    您在项目的github中找到的实际源代码


    免责声明:我是开源(MIT)github项目的维护者。如果有任何有趣的想法或评论,请随意分享。

    浏览Chromium源代码,我很惊讶,
    --窗口位置
    --窗口大小
    选项只有在创建新的弹出窗口而不是选项卡式窗口时才能正常工作。遗憾的是,我没有找到强制Chrome将新窗口创建为弹出窗口的方法。我没有时间检查,但我知道Chrome支持
    --app
    参数,该参数创建了一个“tables”窗口。这可能是你所指的弹出窗口吗?似乎不行,至少在我的电脑上不行。我记得有很多针对窗口类型应用程序的检查,这些检查忽略了位置和大小,因此这可能是一个死胡同。您可以在位于的Chrome window定位器插件源代码中检查类似的实现。您可能想检查这个Google Chrome扩展: