好的,这就是我得到的,我正在使用本机消息传递从 Windows 中的 chrome 扩展程序中触发 c++ 程序。
这个 c++ 程序 (ehost.exe) 创建了一个 ffmpeg 进程,用于记录输入音频并将其保存为 mp3。
我使用 CreateProcess() 函数执行
此操作 当我自己打开 ehost.exe(双击它)时,这非常有效,但是当我从我的 chrome 扩展程序chrome.runtime.connectNative()
(没有权限...
有人知道为什么吗?
这是启动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;
}