Google 크롬은 플러그인이 무엇이든간에 충돌이 발생해도 전체 프로세스를 중단하지 않도록 설정되었습니다. 실제로, 그들은 Flash의 ActiveX 버전을 전혀 사용하지 않습니다 ... 그들은 Firefox와 Safari와 같은 NPAPI 버전을 사용합니다.
크롬이 사용하는 트릭인데, 내가 사용하기는하지만 까다로울 수 있다고 생각되는 것은 그들이 별도의 프로세스에서 플러그인을 실행한다는 것입니다. Firefox 4는 실제로 똑같은 작업을 시작했습니다. (플래시가 실행 중일 때 작업 표시 줄을 보면 Firefox 용 플러그인 -container.exe 프로세스가 표시되고 chrome.exe 프로세스가 더 많이 시작됩니다). 그것은 별도의 프로세스이기 때문에 충돌이 발생할 수 있으며 애플리케이션을 제거하지 않습니다. 당신은 다른 프로세스가 이제 사라 졌음을 감지하고 그에 따라 행동합니다.
어쨌든, 나는 C#에서 여러 프로세스를 한 적이 없지만 가능하다고 생각합니다. 그것은 AFAIK와 같은 것을 "샌드 박싱"하는 가장 일반적인 방법입니다. 나는 C++ (그리고 가지고있다)에서 그것을 할 수 있었다. 그러나 C#은 더 까다로울 수 있었다.
감사합니다. Simen. 나는 그것이 공동의 노력이라는 것을 알지 못했다. 실제로 의미가 있습니다. – bobbyalex
물론 여기에서는 악성 코드로부터 보호하기 위해 Flash에 대한 브라우저의 링크에 대해 이야기하고 있습니다. 당신의 필요는 약간 다릅니다. –
원하는 것은 응용 프로그램의 양식 내에서 특정 UI 영역을 다른 프로세스로 격리해야하고 동시에 응용 프로그램이 충분히 제어 할 수 있도록해야하므로 호스트 된 창 뒤에있는 프로세스가 있는지 여부를 감지 할 수 있습니다 "교수형"입니다. 내가 맞습니까? –