2009-06-09 6 views
1

Je crée un installateur de cabine pour un plugin d'écran pour Windows Mobile. Lorsque l'utilisateur active le plugin de l'écran actuel, il est chargé par le shell. Lorsque l'utilisateur désinstalle maintenant le plugin, un message apparaît pour indiquer qu'il doit être réinitialisé. Comment puis-je désinstaller correctement le plugin d'écran d'aujourd'hui de l'appareil? Peut-être attendre un "déchargement" de la DLL une fois les clés de registre pour le plugin de l'écran aujourd'hui sont supprimés? Un setup.dll personnalisé?Comment désinstaller correctement un plug-in d'écran Windows Mobile actuel?

Répondre

2

Microsoft ne fournit pas d'API pour désactiver ou activer les plugins d'écran d'aujourd'hui.

Je vous recommande de créer setup dll que lors des vérifications de désinstallation pour voir si votre plugin d'écran aujourd'hui est enabled. Si c'est le cas, dites à l'utilisateur de désactiver votre plugin d'écran d'aujourd'hui et relancez la désinstallation, puis échouez à la désinstallation. Toute autre méthode nécessiterait une réinitialisation du périphérique ou le piratage de WM pour savoir comment désactiver et décharger par programmation votre dll plugin d'écran actuel (pas facile et peut-être pas portable entre les versions WM).

+0

Merci! De la recherche j'ai eu quelques approches pour recharger l'écran d'aujourd'hui qui peut fonctionner. 1. Envoi SendMessage (:: GetDesktopWindow(), WM_WININICHANGE, 0xF2, 0); 2. Publication PostMessage (HWND_BROADCAST, WM_WININICHANGE, 0xF2, 0); qui peut faire la même chose. – vividos