2010-01-15 2 views
1

J'ai un objet COM écrit en C# qui est une barre d'outils pour la barre des tâches Windows (implémente IDeskSite). Je veux non plus,Un objet COM géré peut-il se décharger ou se terminer?

  1. Empêcher la barre des tâches d'être chargé si une application est en cours d'exécution

  2. Laisser la barre d'outils pour se décharger dans le cas d'une exception non gérée plutôt que de laisser l'exception de provoquer l'Explorateur crash

pour # 1, je sais que je peux utiliser un mutex pour vérifier si l'application est en cours d'exécution, mais je ne suis pas sûr de savoir comment empêcher l'objet COM de continuer à charger par le explorer.exe processus ou comment notifier le processus que th L'objet a eu une erreur et doit être déchargé.

+0

Peut-être pouvez-vous simplement le laisser charger mais afficher l'interface utilisateur/la barre d'outils uniquement lorsque certaines applications sont en cours d'exécution. Je suppose que l'interface utilisateur/barre d'outils est créée au moment de l'exécution. – A9S6

+0

Oui, l'interface utilisateur est créée au moment de l'exécution. –

Répondre

0

Parlons de la façon # 1. Regardez l'interface IClassFactory - tout objet COM (!) Est créé par défaut ou par votre implémentation. Il suffit donc de l'implémenter pour vérifier si l'instance de classe peut être créée.

Questions connexes