2009-06-26 59 views
2

在Windows Mobile生態系統中是否有即時可用的API(C/C++),可用於生成GUID?我正在尋找簡單的一次性API來執行此操作。如果需要編寫一個完整的算法或使用一些額外的第三方模塊,我將在沒有這個的情況下離開。如何在Windows Mobile下生成GUID?

背景。要向用戶顯示通知,我使用SHNotificationAdd,它需要一個GUID。 MSDN和其他來源中的示例顯示GUID是硬編碼的。但是,我想將SHNotification *包裝在一個類中,該類很好地融入了我的應用程序的整體設計中。 MSDN對於SHNOTIFICATIONDATA-> clsid代表的細節非常害羞。所提到的「班級」提出的問題比答案更多。

回答

1

你並不需要生成SHNOTIFICATIONDATA一個GUID。

如果您希望WM通知實現IshellNotificationCallback接口的COM對象,則只設置clsid。從MSDN

報價:

當裝載了SHNOTIFICATIONDATA 結構,你可以指定的 通知類(CLSID),窗口 接收命令選項(hwndSink), 或兩者兼而有之。如果您指定clsid,您的COM組件必須實現 IshellNotificationCallback。如果你 指定了clsid和hwndSink,則將生成COM和Window Message-style 回調。

我從來沒有親自使用COM回調,我總是使用Windows消息回調。設置和使用起來要容易得多,而且不需要生成GUID。

0

你也可以使用UuidCreate(CoCreateGuid最終調用)。

+0

根據MSDN(https://msdn.microsoft.com/en-us/library/windows/desktop/aa379205(v=vs.85).aspx),「UuidCreate」僅適用於桌面應用程序(這使得一個奇怪的是`CoCreateGuid`在Windows Mobile上實際做了什麼)。 – skyking 2016-10-20 11:06:04