技术开发 频道

WM自定义桌面"今日插件"

 【IT168技术文档】

 在PPC、Mobile5、Mobile6中,自定义桌面快捷方式是通过“今日插件”完成的。近日我研究了“今日插件”的开发过程,和大家一起分享我的心得。

 1.今日插件必须以C++标准动态链接库完成,并且必须包含导出函数InitializeCustomItem。声明如下:

  HWND APIENTRY InitializeCustomItem(TODAYLISTITEM *ptli, HWND hWndParent)

 此方法中完成的工作,类似c++ sdk开发win32窗体的过程。

 2.导出函数InitializeCustomItem的序号必须定义为240,所以必须利用def文件声明,我在测试过程中,因为没有定义序号,一直没有实现功能。估计操作系统是按序号调用此dll的方法。def文件如下:

 EXPORTS

 InitializeCustomItem @ 240 NONAME

 3. 完成dll编写后 ,需要注册表中注册:参考以下格式:

 [HKEY_LOCAL_MACHINE\Software\Microsoft\Today\Items\Topevery.TodayPlus]

 "Options"=dword:00000000

 "Type"=dword:00000004

 "DLL"="\\Program Files\\Topevery\\Topevery.TodayPlus.Addin.dll"

 "Name"="Topevery.TodayPlus"

 注册表的内容和 函数InitializeCustomItem中的参数TODAYLISTITEM *ptli对应,你会发现TODAYLISTITEM 结构体的东西就是注册表的内容;

 4.今日插件相关的消息:以WM_TODAYCUSTOM_开头的常量

查看原文地址

0
相关文章