2010-09-19 32 views
2

J'ai un contrôle ActiveX qui est conçu pour * Recherche pour les réseaux sans fil à proximité * Créer un point d'accès sans fil * Gérer les cartes réseauComment convertir le contrôle ActiveX pour le plugin NPAPI

Je voudrais ce plugin pour travailler dans Google Chrome/Firefox. Dans IE; Je peux utiliser le code suivant pour intégrer:

<object classid="clsid:33FC4347-8118-4DB5-BFBE-8FCF2C96A997" width="32" height="32" id="thectrl"></object> 

et je créer un réseau sans fil comme suit (en JavaScript): thectrl.createNetwork ("test", 0, NULL, "NONE", 3); L'ActiveX a un fichier IDL et les sorties au format OCX. Comment puis-je transformer cela en un plugin pour Google Chrome/Firefox?

Répondre

3

Si vous voulez réécrire pour soutenir NPAPI, un moyen facile consiste à utiliser le cadre FireBreath. Il vous donne une abstraction sur les architectures de plugin, est multi-plateforme et vous permet de soutenir NPAPI et ActiveX à partir d'une base de source.

Mais là encore je suis partial, donc si vous voulez le faire à la place manuellement, voici quelques points de départ:

+0

Merci! C'est exactement ce dont j'avais besoin! – IDWMaster

1

Il serait préférable que vous ayez le code source de l'ActiveX et que les en-têtes NPAPI exposent les fonctionnalités dont vous avez besoin. Si vous voulez transformer cela en un plugin, vous aurez certainement besoin de connaissances C++ pour créer cette bibliothèque NPAPI.

Donc, votre seule solution à ce stade est la création de votre plugin NPAPI. Vous pouvez essayer quelques exemples de Mozilla au https://developer.mozilla.org/En/Plugins. Si vous êtes complètement nouveau à NPAPI, vous voudrez peut-être commencer par https://developer.mozilla.org/en/Gecko_Plugin_API_Reference.

Pour commencer à développer, tout ce que vous avez besoin sont les en-têtes standard NPAPI, que vous pouvez obtenir de http://code.google.com/p/npapi-headers/source/browse/

Un exemple plug-in que nous utilisons dans Chrome: http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/plugins/test/

+0

Je préférerais un moyen de le faire nativement à travers C++. J'ai développé le plugin en utilisant C++, et je ne souhaite pas utiliser d'outils tiers pour le rendre compatible NP (sauf si c'est absolument nécessaire). Alors, comment créer une bibliothèque NPAPI en C++? J'utilise Visual Studio 2010, et il ne semble pas y avoir de documentation complète sur le processus de création d'un plugin. Est-ce que j'expose des attributs à travers un fichier IDL? Ou comment fonctionne le système de plugin Netspace? Je suis à la recherche d'une implémentation générique du NPAPI qui fonctionnera pour la plupart par navigateur croisé. – IDWMaster

+0

Il y a des en-têtes NPAPI que vous devez télécharger. Les plus à jour que vous pouvez utiliser sont les suivants: http://code.google.com/p/npapi-headers/source/browse/ qui sont gérés par Google. J'ai mis à jour ma réponse pour vous aider avec quelques ressources. –