Определение режима запуска браузера в плагине npapi - PullRequest
0 голосов
/ 11 октября 2011

Я хотел бы определить, запущен ли мой плагин на основе npapi в режиме вне процесса (браузер находится в 64-битном режиме) или в процессе (браузер в 32-битном режиме).В настоящее время я использую следующий код для обнаружения

NSString * processName = [[NSProcessInfo processInfo] processName];

if (processName)
{
    if ( !([processName compare:@"Safari" options:NSCaseInsensitiveSearch] == NSOrderedSame) 
        && !([processName compare:@"firefox" options:NSCaseInsensitiveSearch] == NSOrderedSame)
        && !([processName compare:@"firefox-bin" options:NSCaseInsensitiveSearch] == NSOrderedSame)
        && !([processName compare:@"Google Chrome" options:NSCaseInsensitiveSearch] == NSOrderedSame))
    {
        // out of process 
    }
}

Этот код не будет выполнен, если произойдет сбой исполняемого имени браузера.Есть ли другой способ проверить режим запуска браузера?

1 Ответ

1 голос
/ 11 октября 2011

Предпосылка вашего вопроса не верна;«ООП» и «64-разрядный» не являются эквивалентными понятиями.Chrome для Mac и Windows в настоящее время только 32-разрядные, но всегда запускают плагины вне процесса.Браузеры, основанные на Gecko, такие как Firefox, имеют скрытые настройки, позволяющие контролировать, запускаются или не работают плагины.

Что еще более важно: плагину не должно быть важно, запущен он или нет;API плагина не меняется.Какую проблему вы на самом деле пытаетесь решить и думаете, что вам нужно это знать?

...