Jeffrey Cross
Jeffrey Cross

COMMENT écrire un plugin pour UsbWiSec

Le verrou de sécurité sans fil USB est un élément matériel intéressant, un petit bouton vert que vous emportez avec vous, qui permet à votre ordinateur de se verrouiller lorsque vous vous en éloignez. Il se compose du porte-clés et d'un récepteur qui se branche via USB. Il n'y a pas de pilote à installer car le périphérique est considéré comme un simple périphérique d'interface humaine USB. Le logiciel OEM est presque inutile, mais il existe un remplacement maison, appelé UsbWiSec - voici le COMMENT FAIRE ... COMMENT FAIRE en passant

Bryan Batchelder http://labs.patchadvisor.com/blogs/bryan

Scott Hanselman http://www.computerzen.com

Le logiciel OEM est presque inutile, mais j’ai pu écrire mon propre remplacement, appelé UsbWiSec. Ce logiciel de remplacement est disponible sur SourceForge. Un article MSDN rédigé par Scott Hanselman décrit son architecture.

Le matériel est essentiellement une souris sans fil réutilisée à bas prix. Si vous souhaitez plus d'informations sur les détails techniques du matériel, vous pouvez lire l'article MSDN et mon article original décrivant mon parcours pour déterminer ce qui le motive.

Extensibilité L'un des objectifs d'UsbWiSec est d'être aussi facilement extensible que possible. Lorsque j'ai publié ma preuve de concept initiale, j'étais submergé par les demandes de fonctionnalités diverses. Ma prochaine version incluait un système de plugin. Lorsque Scott a transféré le code dans .NET 2.0 pour l'article MSDN, il a renforcé le système de plug-in et écrit plusieurs nouveaux plug-ins.

Le mécanisme de verrouillage lui-même est simplement un plug-in, que vous pouvez désactiver si la sécurité ne vous intéresse pas et que vous souhaitez par exemple simplement que votre musique soit mise en pause lorsque vous quittez le poste de travail.

Plugins De loin, le meilleur plugin (du point de vue de l'extensibilité) est le plugin Batch File. Il exécute simplement locked.bat lorsque la station doit être verrouillée, et unlocked.bat quand elle doit être déverrouillé. Vous pouvez créer n'importe quel script que vous désirez.En fait, si .NET n’est pas votre plate-forme linguistique de choix, vous pouvez écrire un plug-in dans n’importe quelle langue, le compiler dans un exécutable et l’appeler à partir des fichiers de commandes.

Les fichiers de commandes exécutés pour les événements de verrouillage et de déverrouillage.

La méthode préférée pour étendre l'application est d'écrire un plugin. Le principal avantage de cette approche est que vous pouvez fournir un écran de configuration intégré. Vous avez également accès aux messages bruts envoyés par le porte-clés et aux événements PresenceNotification, en plus d'être informé des événements de verrouillage et de déverrouillage.

L'interface principale de UsbWiSec, vous pouvez voir les plugins répertoriés.

Comment créer un plugin pour UsbWiSec

Tu auras besoin de:

* Visual Studio 2005 Beta 2 * UsbWiSec 2.0.1 installé

Tout d'abord, démarrez un nouveau projet dans Visual Studio 2005

Ajouter une référence à UsbWirelessSecurity.Core.dll à votre projet

Créez une nouvelle classe et nommez-la en conséquence pour ce que votre plugin fait.

Vous allez alors:

* Ajouter une instruction using pour l'espace de noms UsbWirelessSecurity. * Créez votre sous-classe de classe PresencePluginBase * Ajoutez un attribut définissant le nom du plug-in et un type de configurateur facultatif (ce qui signifie également que vous devez créer un configurateur, qui n'est qu'un WinForm): o [PresencePluginConfigurator («Mon plugin», typeof (MyPluginConfigurator)))]

* Ignorez l’une des méthodes suivantes: o HandleMessage (KeyFobMessage m) o HandlePresenceNotification (PresenceNotificationEventArgs e) o InitializePlugin (string pluginDirectory) o WorkstationLocked () o WorkstationUnlocked ()

Un plugin barebones ressemble à ceci:

en utilisant le système; using System.Collections.Generic; using System.Text; en utilisant UsbWirelessSecurity; namespace SampleUsbWiSecPlugins {[[PresencePluginConfigurator («Exemple de plug-in»)]], classe publique MyPlugin: PresencePluginBase {annulation de l'annulation de public WorkstationLocked () {// fait des trucs sympas ici}

remplacement public void WorkstationUnlocked () {// faire plus de trucs sympas ici}}}

Ensuite, compilez votre plugin, copiez le fichier .dll dans le répertoire du programme de l'application UsbWiSec, puis redémarrez l'application UsbWiSec. Votre plugin apparaîtra alors dans l'application!

Pour des exemples de plugins plus complexes et pour savoir comment créer un configurateur de plugins, vous pouvez télécharger le code source à partir de SourceForge et l'examiner vous-même. Lorsque vous avez terminé votre plug-in, informez-en l'un de nous et nous pourrons éventuellement l'inclure dans l'ensemble de plug-ins.

Bryan Batchelder http://labs.patchadvisor.com/blogs/bryan

Scott Hanselman http://www.computerzen.com

Part

Laisser Un Commentaire