2009-06-26 6 views
2

Existe-t-il une API prête à l'emploi (C/C++) dans l'écosystème Windows Mobile que je pourrais utiliser pour générer un GUID? Je suis à la recherche d'API simple one-shot pour ce faire. S'il est nécessaire d'écrire un algorithme entier ou d'utiliser des modules tiers supplémentaires, je vais m'en passer.Comment générer un GUID sous Windows Mobile?

Arrière-plan. Pour afficher la notification à l'utilisateur, j'utilise SHNotificationAdd, ce qui nécessite un GUID pour celui-ci. Des exemples dans MSDN et d'autres sources montrent que le GUID est codé en dur. Cependant, je veux envelopper le SHNotification * dans une classe qui se fond bien dans la conception globale de mon application. MSDN est très timide sur les détails de ce que SHNOTIFICATIONDATA-> clsid représente. La "classe" mentionnée soulève plus de questions qu'elle n'en répond.

Répondre

1

Vous n'avez pas besoin de générer un GUID pour SHNOTIFICATIONDATA.

Vous définissez uniquement le clsid si vous souhaitez que WM notifie un objet COM qui implémente l'interface IshellNotificationCallback.

Citation de MSDN:

Lors du chargement de la structure SHNOTIFICATIONDATA , vous pouvez spécifier la classe de notification (clsid), la fenêtre pour recevoir des choix de commande (hwndSink), ou les deux. Si vous spécifiez le clsid, votre composant COM doit mettre en œuvre IshellNotificationCallback. Si vous spécifiez le clsid et un hwndSink, les rappels COM et Window seront générés.

Je n'ai jamais utilisé personnellement le rappel COM, j'utilise toujours le rappel de message Windows. C'est beaucoup plus facile à configurer et à utiliser et vous n'avez pas besoin de générer un GUID.

0

Vous pouvez également utiliser UuidCreate (que CoCreateGuid finit par appeler).

+0

Selon MSDN (https://msdn.microsoft.com/en-us/library/windows/desktop/aa379205(v=vs.85).aspx) 'UuidCreate' est disponible uniquement pour les applications de bureau (ce qui rend on se demande ce que 'CoCreateGuid' fait réellement sur Windows Mobile). – skyking