問題タブ [chrome-native-messaging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1215 参照

windows - Windows Chrome 拡張機能のネイティブ メッセージングは​​、最初の応答しか受信できません

ネイティブ メッセージングを使用して、ネイティブ Windows アプリケーションにデータを送信しようとしています。runtime.sendNativeMessage() メソッドとうまく連携します。ポートを使用する長期接続を使用しようとすると、クロムからアプリにデータを渡すこともできます。ただし、chrome 拡張機能はアプリからの最初の応答しか受信できません。アプリは引き続きクロムからデータを受信できるため、ポートがまだ開いていると確信しています。以下は私のコードです:

Chrome 拡張スクリプト:

C ++での私のWindowsアプリ:

最後の行「std::cout.flush();」をコメントアウトすると、最初の応答でさえクロムに表示されないことに注意してください。クロムがアプリの標準出力からどのように読み取るかを理解できませんでした。

0 投票する
1 に答える
1788 参照

linux - Linux のネイティブ メッセージングが機能しない

Debian Linux でネイティブ メッセージングを実行しようとしましたが、接続ボタンをクリックすると、「ネイティブ メッセージング ホスト com.google.chrome.example.echo に接続しています」というメッセージしか表示されず、他には何も表示されません。

すべてがデフォルトの例と似ています。マニフェスト ファイルのパスのみを変更しました。なにが問題ですか?

0 投票する
0 に答える
430 参照

c++ - Chromeネイティブメッセージングホストアプリのffmpegが機能しない

OK、これは私が得たものです。ネイティブ メッセージングを使用して、Windows の Chrome 拡張機能から C++ プログラムを起動しています。
この c++ プログラム (ehost.exe) は、入力オーディオを録音して mp3 に保存するための ffmpeg プロセスを作成します。
これは CreateProcess() 関数で行い
ます。自分で ehost.exe を開く (ダブルクリックする) と完璧に動作しますが、Chrome 拡張機能 ( chrome.runtime.connectNative() ) から開くと、ffmpeg プロセスは開きますが、ffmpeg は出力ファイルを書き込みません。権限がありませんでした...

理由を知っている人はいますか?
これは、ffmpeg.exe を開始するための ehost.exe コードです。

static HANDLE startFFmpeg() { char cmd[] = "C:\Users\moizilla\Desktop\native\ffmpeg\bin\ffmpeg.exe -y -f dshow -i audio=\"Microphone (High Definition Aud\" -acodec libmp3lame C:\Users\moizilla\Desktop\native\kasdkddfodkadd.mp3"; PROCESS_INFORMATION pi = {0}; STARTUPINFO si={0}; si.cb = sizeof(STARTUPINFO); if(CreateProcess(NULL, cmd, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)){ CloseHandle(pi.hThread); return pi.hProcess; } return NULL; }

0 投票する
2 に答える
1771 参照

java - Chrome ネイティブ メッセージング Chrome 拡張機能

Chrome 拡張機能と Java アプリケーションにネイティブ メッセージングを組み込もうとしています。

私の Chrome 拡張機能の JavaScript には、次のコードがあります。(manifest.json に nativeMessaging 権限があります)

ネイティブ アプリにメッセージを送信すると、Java アプリはメッセージを拡張機能に送り返すはずですが、そうではありません。実際に拡張機能に接続しているかどうかをテストするために、connectNative メソッドでホスト名を間違って入力しましたが、エラーは発生しませんでした!?

私はWindowsを使用しているため、レジストリキーを追加する必要があると聞きましたが、方法がわからず、regeditのchromeフォルダーの下にNativeMessagingHostsフォルダーがありません。

私のネイティブ アプリ フォルダーも、chrome 拡張機能と同じフォルダーにあります。多くのチュートリアルを探してみましたが、私の問題に役立つものは見つかりませんでした。なぜWindowsはすべてを複雑にするのですか? :)

助けてください。お時間をいただきありがとうございます。サブビー

0 投票する
1 に答える
9331 参照

c# - ネイティブ メッセージング Chrome

Chrome 拡張機能と C# アプリケーションの間でネイティブ メッセージングを取得しようとしています。JavaScript は正常に動作しますが、次のエラーが発生します。

ネイティブ メッセージング ホストとの通信中にエラーが発生しました。

タスク マネージャーから見たように、アプリケーションは拡張機能と共に起動されます。これが私のc#コードです。

そして主な機能:

JS コード:

ホスト マニフェスト:

0 投票する
1 に答える
179 参照

c++ - ネイティブ メッセージングを使用して 10 バイトのメッセージを受信できない

Chrome ネイティブ メッセージングを介して Windows ネイティブ アプリケーションと対話するために、単純な Chrome 拡張機能を作成しました。

ブラウザとアプリケーションの間でメッセージを送受信できます。ただし、ネイティブ アプリケーションから送信されたメッセージの長さが 10 または 2560 の場合、メッセージは拡張機能の onmessage イベント リスナーで受信されません。

ネイティブ アプリ コード

char *test = "{\"test\":\"\"}"(追加の t を使用して)割り当てると、正常に機能します。

この問題の原因がわかりません。

助けてください!

ありがとう!

0 投票する
1 に答える
429 参照

c# - C# で単一のプロセスを作成して、複数の Chrome ネイティブ メッセージを受信する

基本的に私がやりたいことは、常に開いたままにし、Chrome のネイティブ メッセージングをリッスンするスレッドを持つアプリケーション (単一プロセス) を用意することです。

私の現在の理解では、Chrome はネイティブ メッセージごとに個別のプロセスを起動します。Mutex を使用して 1 つのプロセスを作成すると、標準入力をメイン プロセスに渡すことができなくなります。これは、最初に適切なパラメーターを使用してプロセスを再度起動する必要があるためです。Chromeはおそらくこれを同様に行うため、複数のプロセスがあります。

Chromeのメッセージのメインプロセスに通知するために、ソケットまたは同様のものを介して通信する中間プロセスが必要であるように私には思えます。これは事実ですか?単一のプロセスを使用してこれを実装する方法はありませんか?

入力は大歓迎です!

また、補足として、Chrome はネイティブ メッセージング アプリ プロセスをサイレント モードで起動するようです (表示なし)。これは私が何か間違ったことをしているのですか、それともこれは正常ですか?

0 投票する
1 に答える
3506 参照

json - シェル スクリプトを Chrome ネイティブ メッセージング ホスト アプリケーションとして使用するにはどうすればよいですか

bash スクリプトを使用して Chrome Native Messaging API 呼び出しをどのように処理しますか?

この例でpythonでそれを行うことに成功しました

確かに を使用bashして python コードから呼び出すことができますが、pythonsubprocessをスキップしてメッセージをbash直接処理することは可能ですか?

問題の部分は、JSON のシリアル化されたメッセージを変数に読み込むことです。メッセージは、JSON を使用してシリアル化され、UTF-8 でエンコードされ、stdin を介してネイティブ バイト オーダーで 32 ビットのメッセージ長が前に付けられます。

echo $*出力のみ: chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/

また、次のようなもの

何も出力しません。JSON メッセージの兆候はありません。Python はこれを使用struct.unpackします。それはでできますbashか?