問題タブ [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.
windows - Windows Chrome 拡張機能のネイティブ メッセージングは、最初の応答しか受信できません
ネイティブ メッセージングを使用して、ネイティブ Windows アプリケーションにデータを送信しようとしています。runtime.sendNativeMessage() メソッドとうまく連携します。ポートを使用する長期接続を使用しようとすると、クロムからアプリにデータを渡すこともできます。ただし、chrome 拡張機能はアプリからの最初の応答しか受信できません。アプリは引き続きクロムからデータを受信できるため、ポートがまだ開いていると確信しています。以下は私のコードです:
Chrome 拡張スクリプト:
C ++での私のWindowsアプリ:
最後の行「std::cout.flush();」をコメントアウトすると、最初の応答でさえクロムに表示されないことに注意してください。クロムがアプリの標準出力からどのように読み取るかを理解できませんでした。
linux - Linux のネイティブ メッセージングが機能しない
Debian Linux でネイティブ メッセージングを実行しようとしましたが、接続ボタンをクリックすると、「ネイティブ メッセージング ホスト com.google.chrome.example.echo に接続しています」というメッセージしか表示されず、他には何も表示されません。
すべてがデフォルトの例と似ています。マニフェスト ファイルのパスのみを変更しました。なにが問題ですか?
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;
}
java - Chrome ネイティブ メッセージング Chrome 拡張機能
Chrome 拡張機能と Java アプリケーションにネイティブ メッセージングを組み込もうとしています。
私の Chrome 拡張機能の JavaScript には、次のコードがあります。(manifest.json に nativeMessaging 権限があります)
ネイティブ アプリにメッセージを送信すると、Java アプリはメッセージを拡張機能に送り返すはずですが、そうではありません。実際に拡張機能に接続しているかどうかをテストするために、connectNative メソッドでホスト名を間違って入力しましたが、エラーは発生しませんでした!?
私はWindowsを使用しているため、レジストリキーを追加する必要があると聞きましたが、方法がわからず、regeditのchromeフォルダーの下にNativeMessagingHostsフォルダーがありません。
私のネイティブ アプリ フォルダーも、chrome 拡張機能と同じフォルダーにあります。多くのチュートリアルを探してみましたが、私の問題に役立つものは見つかりませんでした。なぜWindowsはすべてを複雑にするのですか? :)
助けてください。お時間をいただきありがとうございます。サブビー
c# - ネイティブ メッセージング Chrome
Chrome 拡張機能と C# アプリケーションの間でネイティブ メッセージングを取得しようとしています。JavaScript は正常に動作しますが、次のエラーが発生します。
ネイティブ メッセージング ホストとの通信中にエラーが発生しました。
タスク マネージャーから見たように、アプリケーションは拡張機能と共に起動されます。これが私のc#コードです。
そして主な機能:
JS コード:
ホスト マニフェスト:
c++ - ネイティブ メッセージングを使用して 10 バイトのメッセージを受信できない
Chrome ネイティブ メッセージングを介して Windows ネイティブ アプリケーションと対話するために、単純な Chrome 拡張機能を作成しました。
ブラウザとアプリケーションの間でメッセージを送受信できます。ただし、ネイティブ アプリケーションから送信されたメッセージの長さが 10 または 2560 の場合、メッセージは拡張機能の onmessage イベント リスナーで受信されません。
ネイティブ アプリ コード
char *test = "{\"test\":\"\"}"
(追加の t を使用して)割り当てると、正常に機能します。
この問題の原因がわかりません。
助けてください!
ありがとう!
c# - C# で単一のプロセスを作成して、複数の Chrome ネイティブ メッセージを受信する
基本的に私がやりたいことは、常に開いたままにし、Chrome のネイティブ メッセージングをリッスンするスレッドを持つアプリケーション (単一プロセス) を用意することです。
私の現在の理解では、Chrome はネイティブ メッセージごとに個別のプロセスを起動します。Mutex を使用して 1 つのプロセスを作成すると、標準入力をメイン プロセスに渡すことができなくなります。これは、最初に適切なパラメーターを使用してプロセスを再度起動する必要があるためです。Chromeはおそらくこれを同様に行うため、複数のプロセスがあります。
Chromeのメッセージのメインプロセスに通知するために、ソケットまたは同様のものを介して通信する中間プロセスが必要であるように私には思えます。これは事実ですか?単一のプロセスを使用してこれを実装する方法はありませんか?
入力は大歓迎です!
また、補足として、Chrome はネイティブ メッセージング アプリ プロセスをサイレント モードで起動するようです (表示なし)。これは私が何か間違ったことをしているのですか、それともこれは正常ですか?
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
か?