【发布时间】:2010-05-17 08:19:30
【问题描述】:
我正在尝试弄清楚为什么我编写的 NPAPI 插件(它在执行通过 Javascipt 调用触发的操作方面工作正常)不能使用 CreateProcess() 或 ShellExecute() 从通过 Javascript 指定的路径启动应用程序称呼。
我似乎可以使用这两种方法中的任何一种,它们都返回成功,即没有错误代码。但该应用程序只是没有启动。我尝试修改调用它们时使用的参数,创建新的进程组等。但似乎没有效果。
我知道这可能看起来有点安全风险,但对于我们希望使用它的特定目的来说应该不是问题。
使用 Windows XP Pro SP3、Firefox 3.5 和以下代码:
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
if( CreateProcess( NULL, wFileName, NULL, NULL, FALSE,
CREATE_NEW_CONSOLE | CREATE_NEW_PROCESS_GROUP,
NULL, NULL, &si, &pi ) )
{
bSuccess = true; // Close process and thread handles.
WaitForSingleObject(pi.hProcess,INFINITE);
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
}
【问题讨论】:
-
什么浏览器和windows版本?
-
Windows XP Pro SP3 和 Firefox 3.5
标签: winapi plugins shellexecute npapi createprocess