gpt4 book ai didi

google-chrome - Chrome 何时将 0 以外的值传递给 --parent-window 的 native 消息传递主机?

转载 作者:行者123 更新时间:2023-12-05 05:10:31 25 4
gpt4 key购买 nike

我正在开发 Windows 上的 Chrome 扩展程序。它还有一个本地消息传递主机。传递给名为 --parent-window 的主机的参数在我的例子中始终为 0。

According to the Native Messaging Protocol它说

On Windows, the native messaging host is also passed a command line argument with a handle to the calling chrome native window: --parent-window=. This lets the native messaging host create native UI windows that are correctly focused.

我在后台 JS 中打开用于本地消息传递的端口。我的理解是您不能在内容中使用此 API。

This Chromium Bug appears to be my issue但它已关闭,因为无法修复。

那么 Chrome 何时或在什么情况下会使用 --parent-window 发送一些有用的东西?

5 月 7 日,我认为对 Chrome 略有了解的作者说

Haven't tried it, but could you open your native messaging port in a content script instead? Sounds like the --parent-window arg might be useful in that case.

他是什么意思,我该怎么做?

最佳答案

回答我自己的问题。简而言之,如果您是 Windows 开发人员,它不会像您期望的那样工作。评论 2 可能有助于解决 Chromium 上的“Wont Fix”问题。

Comment 2 seems to explain when it might work.

If you are using Native Messaging (https://developer.chrome.com/extensions/messaging#native-messaging), it would seem like the --parent-window command line parameter would provide a solution. Unfortunately, zero is passed for the parent window if the native messaging connection is made from a background page and (apparently) the HWND of a transient popup window is passed if the native messaging connection is made from a browser action popup. And I am not allowed to call chrome.runtime.connectNative() from a content script. Therefore, in my extension at least, --parent-window is not helpful.

我的解决方案是紧接着

port = chrome.runtime.connectNative('myspecial.host.application');

然后我使用以下内容;

chrome.tabs.query({ active: true, currentWindow: true }, function (tab) {
console.log(tab[0].title);
port.postMessage({ MessageType: 'chromeTitle', Message: tab[0].title });
});

在您的主机中,如果您向此标题添加“- Google Chrome”,那么您可以使用类“Chrome_WidgetWin_1”和标题调用 FindWindowEX 以获取 Google 的主句柄。

关于google-chrome - Chrome 何时将 0 以外的值传递给 --parent-window 的 native 消息传递主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56544152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com