通过windows mobile注册表,我们可以获取UA和GPRS的网关代理的IP,不过必须是中文版的windows mobile,在英文版中的模拟器上就看不到UA的类型。
UA的位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent,Default的value就是UA的具体的值。
网关代理的IP位置:[HKEY_LOCAL_MACHINE\Comm\ConnMgr\Providers\{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}\Connections]下有目前可用的连接,然后找到需要链接项的DestId;然后在[HKEY_LOCAL_MACHINE\Comm\ConnMgr\Providers\{EF097F4C-DC4B-4c98-8FF6-AEF805DC0E8E}]下子键中分别寻找Destid,一般判断KEY名中是否有Destid就可以了,找到后在找到Proxy项,它的值就是我们要找的代理IP和端口。当然我们也可以在这个子键下找到WAP(通过键名),直接找它的代理和端口。
关于Windows Mobile的注册操作函数比较简单,和wince上的完全一样。
读注册表:RegOpenKeyEx//打开注册表的某个键。RegQueryValueEx//读取值。RegCloseKey//关闭注册表
写注册表:RegCreateKeyEx//编辑注册表中的键。 RegSetValueEx//设置键值。RegCloseKey//关闭注册表
具体的参数查看MSDN上的详细文档。