1

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; }

4

0 に答える 0