Я пытаюсь выяснить, почему написанный мной плагин 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 );
}