Frage

Mein Kollege und ich sind auf eine unangenehme Situation gestoßen, in der wir ein aktives X-Steuerelement verwenden müssen, um eine Webcam auf einer Seite zu manipulieren.

Ist es möglich, einer Schaltfläche im Active Können dann alle notwendigen Aktionen auf der Seite ausgelöst werden?

War es hilfreich?

Lösung

Bitte Verwenden Sie einfach ein vorhandenes ActiveX-Steuerelement.Wie Flash oder Silverlight.Flash verfügt über eine integrierte Webcam-Unterstützung und ist über JavaScript steuerbar.Silverlight bietet keine integrierte Kameraunterstützung, aber die JavaScript-Integration ist fantastisch.

Wenn Sie Ihr eigenes schreiben müssen, machen Sie sich keine Sorgen, es ist trivial, es mit JavaScript interagieren zu lassen.Man muss es nur freilegen IDispatch Schnittstelle.

Bei Veranstaltungen muss man sich informieren Verbindungspunkte.

Andere Tipps

Ja!Sie können Ereignisse in C++/ActiveX-Land auslösen, wodurch der JavaScript-Code eine Ereignishandlerfunktion ausführt.Ich war sogar in der Lage, ein vollständig unsichtbares ActiveX-Steuerelement (gleiche Farbe wie der Seitenhintergrund) ohne Schaltflächen oder visuelles Feedback zu erstellen, das die gesamte GUI-Funktion über JavaScript und CSS erledigte.

bearbeiten:Franks Rat ist richtig. Hier ist der Link zu Skriptereignissen.

Meine Strategie bestand darin, eine C++-Funktion namens MyUpdate aufzurufen (die IConnectionPoint implementiert), wenn ich Aktualisierungen im Browser erzwingen wollte.

(Außerdem habe ich darauf geachtet, Windows-Meldungen in die Fire_MyUpdate-Methode zu pumpen, da JavaScript-Code manchmal durch Aufrufen von Methoden im ActiveX-Steuerelement in C++-Land zurückgerufen wird;Dadurch wird ein Einfrieren des Browsers vermieden und sichergestellt, dass die JavaScript-GUI reaktionsfähig bleibt, z. B.für eine Schaltfläche „Abbrechen“.)

Auf der Browserseite enthält der JavaScript-Code die globale Variable, die auf das Objekt verweist, gefolgt von „::“, gefolgt vom Methodennamen:

function Uploader::MyUpdate()
{
    // ... code to fetch the current state of various
    // properties from the Uploader object and do something with it
    // for example check Uploader.IsActive and show or hide an HTML div
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top