Я пытаюсь использовать API для собственных сообщений Chrome для расширения Chrome.Родное приложение не работает в расширении Chrome
manifest.json для родного приложения:
{
"name": "app.native",
"description": "Native Message API Test.",
"path": "native.exe",
"type": "stdio",
"allowed_origins": ["chrome-extension://kembignchdjhopkkcolnamikcenaocdm/"]
}
реестра Windows Значение:
HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome\NativeMessagingHosts\app.native=D:\connectNative\manifest.json
Я также попытался D:\\\\connectNative\\\\manifest.json
И я добавить "nativeMessaging" на "права" в Расширение Chrome manifest.json.
Собственное приложение каст:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main(int argc, char* argv[]) {
string input = "";
string message="{\"text\": \"This is a response message\",\"num\": \"three\"}";
unsigned int len = message.length();
cout << char(((len>>0) & 0xFF))
<< char(((len>>8) & 0xFF))
<< char(((len>>16) & 0xFF))
<< char(((len>>24) & 0xFF));
cout << message <<endl;
getline(cin, input);
cout << "You entered: " << input << endl;
ofstream myfile;
myfile.open ("example.txt");
myfile << "Writing this to a file.\n";
myfile << input;
myfile.close();
return 0;
}
В конце концов делается, я стараюсь в моем расширение Chrome:
var testport = chrome.runtime.connectNative('app.native');
testport.onMessage.addListener(function(msg) {
console.log("Received" + msg);
});
testport.onDisconnect.addListener(function() {
console.log("Disconnected");
});
Он не может получить любое сообщение и всегда печатать "Отключено".
Я пытаюсь подключиться к несуществующему приложению, оно по-прежнему печатает «Отключено», поэтому я знаю, что это родное приложение не настроено правильно.
Может ли кто-нибудь указать, что не так или что я пропустил?
Вы не сказали, где native.exe находится. Это в D: \ connectNative \ native.exe? – sowbug
Да, я стараюсь как относительный, так и абсолютный путь native.exe, оба не работают. –
Я думаю, что проблема связана с регистрацией: это мое .reg-файл: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE \ SOFTWARE \ Google \ Chrome \ NativeMessagingHosts \ com.windows.screen] @ = "C: \\ Пользователи \\ abc \\ Desktop \\ Chrome Extension \\ manifest.json " – rohitvk