Frage

Ich habe ein ActiveX-Steuerelement, dass ich bin Laden mit JavaScript im Internet Explorer. Es muss als Medium Integrität unter UAC in Vista und Win7 laufen. Dies ist in C / C ++ geschrieben, in Visual Studio erstellt.

Eine Möglichkeit, Berechtigungen zu erhöhen ist es, einen Broker-Prozess zu schaffen, die eine mittlere Integritätsebene anfordern kann. Doch für dieses Projekt, das ist keine praktische Lösung. Ich brauche wirklich das ActiveX-Steuerelement selbst erhöht laufen.

Meine Frage ist: Was ist der einfachste Weg, dies zu tun? Kann ich die Build-Optionen für das Projekt ändern eine exe, und verwenden Sie die COM-Interconnect-System zu handhaben automatisch die Kommunikation, oder muss ich immer ausgefeilter sein? Muss ich etwas tun kompliziert wie manuell Createprocess aufrufen und eine Art von Broker machen, oder kann es nur Arbeit als ActiveX-exe, dass erhebt sich?

War es hilfreich?

Lösung

Es hängt vor allem, was Ihr ActiveX-Steuerelement der Fall ist, wie Sie es in eine Seite einbetten und wie es umgesetzt wird.

Der einfachste Ansatz wäre es wahrscheinlich als Server EXE zu implementieren, registrieren Sie es als angemessen und dann die ausführbaren Berechtigungen geben an Medium in der Low Rights Elevation Politik .

Wenn Sie wollen nicht so weit gehen könnten Sie eine einfache benutzerdefinierte schreiben Server out-of-Prozess, die Sie erneut registrieren und Sie implementieren Ihre eigenen IClassFactory , um Proxy-Erstellung Anfragen in die vorhandene DLL . Man könnte sogar einen Schlüssel AppID für Ihr vorhandenes Objekt hinzufügen, und geben Sie es ein DllSurrogate aber (anders als es als eine COM + -Anwendung Registrierung) Sie möglicherweise nicht in der Leihmutter Kraft Erstellung des Objekts leicht in der Lage sein, (da der Standardwert für IE CLSCTX_ALL ist, um anzugeben, wenn Objekte zu schaffen, die die Registrierung in-process abholt zuerst).

Natürlich nach allem, wenn Ihr Code zu vielen Annahmen über macht, wo es ist oder verwendet keine nicht-Proxy-Schnittstellen es sowieso nicht funktionieren könnte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top