在Windows mobile中系统配置服务文件CSP能够实现一些比较"热门"的功能,比如:枚举WIFI热点、建立WIFI连接、建立GPRS连接等等。在windows mobile系统的控制面板中有个粗陋的"删除程序"功能,我们也可以通过CSP实现程序的删除卸载,实现一个属于自己的windows mobile程序卸载器,并且可以根据自己的需要扩展这个程序卸载器的功能。
CSP简单介绍:
CSP(Configuration Service Providers)是一组通过XML来查询和修改系统设置的接口。这里的XML文件我们把它叫做OMA
Client Provisioning (WAP-based) XML File。Windows Mobile上面目前对CSP的支持情况可查阅本文:
http://msdn.microsoft.com/en-us/library/bb737536.aspx
CSP API函数原型,HRESULT DMProcessConfigXML(LPCWSTR pszWXMLin,DWORD dwFlags, LPWSTR* ppszwXMLout);
该函数封装于aygshell.dll或者"添加引用 Micorsoft.WindowMobile.Configuration"
注: 引用Micorsoft.WindowMobile.Configuration需要额外安装.net CF与之相关的cab包
那么,在实现自己的windows mobile程序卸载器之前,首先,我们要明确程序卸载的实现要点,并且怎样用CSP来实现这些要点:
1、能够枚举已经安装的程序
没错,这里枚举已安装的程序需要使用CSP,那么,我们只须知道CSP枚举已安装程序所需的XML即可:
而我们所要的已安装程序的结果则为调用DMProcessConfigXML的返回结果: