1

私はこれにしばらく取り組んできましたが、これを理解することはできません。Chrome Native Messagingのドキュメントを読みましたが、「指定されたネイティブ メッセージング ホストが見つかりません」というメッセージが引き続き表示されます。拡張子からのエラー。

レジストリが指すマニフェスト:

{
  "name": "com.fordcars.chromekeys",
  "description": "ChromeKeys description",
  "path": "C:\Users\fordcars\Desktop\Development\ChromeKeys\Debug\ChromeKeys.exe",
    "type": "stdio",
    "allowed_origins": [
     "chrome-extension://pdkakljppghagmaoijbpicogfdbodpbc"
     ]
}

拡張スクリプト:

// Event page

var nativeName = "com.fordcars.chromekeys";

var nativePort = chrome.runtime.connectNative(nativeName);

function nativeDataReceived(data)
{
    // Not used
}

function nativeDisconnected()
{
    console.log("Native program disconnected. Error: " + chrome.runtime.lastError.message);
}

nativePort.onMessage.addListener(nativeDataReceived);
nativePort.onDisconnect.addListener(nativeDisconnected);

connectNative() するとすぐにエラーが発生することに注意してください。拡張マニフェストに「nativeMessaging」権限があります。

レジストリ:

Subkey: HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHosts\com.fordcars.chromekeys

Value name: (Default)

Value: C:\Users\fordcars\Desktop\Development\ChromeKeys\Debug\nativeManifest.json

デバッグ: デバッグを行ったところ、connectNative nativeName を com.fordcars.chromekeys から別の名前に変更も、同じエラーが発生することがわかりました。つまり、レジストリ キーが見つからないか、レジストリ キーが見つからないかのどちらかです。良い manifest.json があります。

ありがとう!

4

1 に答える 1