我正在尝试从 FireBreath-Plugin 中启动 notepad.exe,但是当我调用适当的 API 功能(这次“回声”仅用于测试)时,它会因“NPObject 上的错误调用方法!”而崩溃。在火狐中。
这是我的代码:
FB::variant redtestAPI::echo(const FB::variant& msg)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
// Start the child process.
if( !CreateProcess( NULL, // No module name (use command line)
L"notepad.exe", // Filename
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi ) // Pointer to PROCESS_INFORMATION structure
) {
return "error";
}
return "foo";
}
我究竟做错了什么?我找到了一些有关此错误消息 (--> System.security.allowDomain) 的 Flash 安全解决方案,但对于 FireBreath 则没有。我究竟做错了什么?
提前致谢
海诺布