2009-06-10 9 views
5

Ich habe ein WebBrowser-Steuerelement in einem Formular, das eine einzelne Seite mit einem Flash-Steuerelement darauf lädt. Seit dem Upgrade auf IE8 funktioniert es nicht mehr. Jedes Mal, wenn ich mein Formular öffne, bekomme ich eine Aufforderung, Flash zu installieren. Egal, was ich von dort mache, Flash startet nicht, meine Seite ist also kaputt. Gibt es Hinweise darauf, wie Flash in IE funktioniert, wenn es als eingebettetes Steuerelement ausgeführt wird?IE8, Flash und das WinForms WebBrowser Steuerelement

Wenn ich zu dieser Seite in IE8 außerhalb meiner App navigiere, funktioniert die Seite gut.

+0

Ich konnte das herausfinden, nachdem ich etwas mehr gegraben habe. Ich war falsch, IE8 zu beschuldigen, aber mein tatsächliches Problem war, wenn ich meine Windows-Anwendung als eine 64-Bit-Anwendung ausführte. Flash kann in diesem Modus nicht geladen werden (Probleme mit COM in 64 Bit gab es schon früher), und das ist die Ursache meines Problems. Aufgrund des hohen Speicherverbrauchs müssen einige Benutzer meine App im 64-Bit-Modus ausführen, wenn ihr Computer dies unterstützt. Kann jemand das WebBrowser-Steuerelement das 32-Bit-IE-Steuerelement als das zugrunde liegende ActiveX-Steuerelement laden? Ja, ich weiß, dass das bei jedem, der gerade arbeitet, ein langer Schuss ist. Danke – Kleinux

+0

Soweit ich weiß, nein, es gibt keine Möglichkeit, Ihre 64-Bit-App zum Host für das 32-Bit-WebBrowser-Steuerelement zu machen. Wenn Sie CoCreateInstance direkt zum Erstellen einer Out-of-Process-IE-Instanz aufrufen, können Sie versuchen, CLSCTX_ACTIVATE_32_BIT_SERVER zu übergeben. – EricLaw

+0

Ist die gehostete Seite HTML + Flash oder ist es in erster Linie nur Flash? –

Antwort

1

Sie können das Flash ActiveX-Steuerelement direkt in Ihrer WinForms-App hosten, anstatt ein Browser-Steuerelement zu verwenden. Wir machen das in unserer App und es funktioniert. Hat ein paar Macken wie ESC im Vollbild-Modus nicht tatsächlich den Vollbildmodus beenden, sondern zum größten Teil funktioniert.

Es gibt auch eine API (aber schlecht dokumentiert) für die Kommunikation zwischen der SWF und der WinForms App. Wir haben es jedoch selbst nicht benutzt.

Verwandte Themen