关于windows mobile 今日插件开发的记录

今日插件,可以看成一个DLL 的应用程序(对,应用程序!可以有界面,可以干任何事)。

只是系统规定了两个接口(240和241),必须带240这个接口就OK了。

 

今日插件完全依靠注册表活动。如果你的今日插件写成死循环了(我真的写死过,不停的蹦框。。。 最后我恢复出厂设置了。),可以修改注册表键值(HKEY_LOCAL_MACHINE/Software/Microsoft/Today/Items// 你自己的插件DLL )来干掉它。

 

微软给了例子! 自己找一下MyToday。

 

微软的注册方法:

1.拷贝到系统目录:   WINDOWS//...    ::CopyFile(lpszTodayFilePath,  ... , FALSE);

2.安装 “今日插件”: ::RegCreateKeyEx();

 // 注册插件
 iTemp  = 0;
 ::RegSetValueEx(hOpenKey, _T("Flags"), 0, REG_DWORD, (BYTE*)&iTemp, sizeof(iTemp));
 ::RegSetValueEx(hOpenKey, _T("Options"), 0, REG_DWORD, (BYTE*)&iTemp, sizeof(iTemp));
 iTemp  = 1;
 ::RegSetValueEx(hOpenKey, _T("Enabled"), 0, REG_DWORD, (BYTE*)&iTemp, sizeof(iTemp));
 ::RegSetValueEx(hOpenKey, _T("Order"), 0, REG_DWORD, (BYTE*)&iTemp, sizeof(iTemp));
 iTemp  = 2; 
 ::RegSetValueEx(hOpenKey, _T("Selectability"), 0, REG_DWORD, (BYTE*)&iTemp, sizeof(iTemp));
 iTemp  = 4;
 ::RegSetValueEx(hOpenKey, _T("Type"), 0, REG_DWORD, (BYTE*)&iTemp, sizeof(iTemp));
 ::RegSetValueEx(hOpenKey, _T("DLL"), 0, REG_SZ, (BYTE*)HANDMAP_TODAY_COPY, sizeof(TCHAR) * _tcslen(lpszTodayFilePath));


3.给今日发送系统消息注册运行: ::SendMessage(HWND_BROADCAST, WM_WININICHANGE, (WPARAM)0xF2, 0);

 

说一下今日插件的几个注册表键值:

1. Enabled : 负责显示,还是不显示,不显示的话可以去今日里添加项。

2. Order:在今日里的顺序。

3.Selectability:这个有意思分为:0,1,2。1是系统托管,但收不到外部手动点击的消息. 2是消息下放到控件。推荐使用2,因为自己清楚该干什么。

 

卸载很简单: 只要删除DLL,注册表删掉就可以了。

 

关于插件的消息驱动:

自己用远程SPY看一下消息的流程吧。

 

选中的时候: WM_USER + 244 -> WM_PAINT ->WM_ERASEBKGND

选别的的时候: WM_USER + 246 -> WM_USER + 245 -> WM_PAINT ->WM_ERASEBKGND

其中:

WM_TODAYCUSTOM_RECEIVEDSELECTION:  // 选择进入  WM_USER + 244

WM_TODAYCUSTOM_LOSTSELECTION:          // 退出        WM_USER + 245

WM_TODAYCUSTOM_QUERYREFRESHCACHE // 这个东西一直在跑,应该几秒钟一次 WM_USER + 243

 

WM_LBUTTONDOWN: // 鼠标按下 这里可以发送::PostMessage(::GetParent(hWnd), TODAYM_TOOKSELECTION, (WPARAM)hWnd, 0); 来控制绘制界面-这个很重要!

 

绘制靠自己,想怎么干就怎么干

g_bSelecte 可以控制选中和为选中的状态。

获得高亮色:

DWORD bkcr = SendMessage(g_hWndParent, TODAYM_GETCOLOR, (WPARAM)TODAYCOLOR_HIGHLIGHT, NULL);

 

 

就这样吧!忘东西太快自己做个记录。

     

.

.  

PS:火爆大头菜的秘诀就是不洗菜

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值