求助:关于Mobile下WinInet访问网络的问题

MS_Frank 2010-07-29 09:39:18
各位大哥大姐帮帮我吧,我这个问题都搞了快一周了,郁闷至急,就是搞不定。问题是这样的。
我想实现一个下载文件的功能,我用WinInet实现的。
HINTERNET h1=InternetOpen(_T("MsIE"),INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
HINTERNET h2=InternetOpenUrl(h1,_T("http://test.5a5e.com.cn/WindowsMobile/LiveUpdate.xml"),NULL,NULL,INTERNET_FLAG_EXISTING_CONNECT,0);

访问方式我使用的是:INTERNET_OPEN_TYPE_PRECONFIG,就是使用注册表中的配置。
可是结果h2老是返回NULL

如果使用直连(INTERNET_OPEN_TYPE_DIRECT)或代理(INTERNET_OPEN_TYPE_PROXY)就能连接成功。
但是Mobile支持多种网络环境,如:WIFI、CMNET、CMWAP、及联通的GPRS什么的,如果自己选择太麻烦了。。

我想使用INTERNET_OPEN_TYPE_PRECONFIG让系统自动配置,但它不成功,请问如何解决呀?

另外有一个奇怪的问题,在模拟器上如果从未打开过IE,用INTERNET_OPEN_TYPE_PRECONFIG就能连上,如果用IE打开过一个网址就连不上了。
...全文
164 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kunmoblin 2010-08-02
  • 打赏
  • 举报
回复
HINTERNET h1=InternetOpen(_T("MsIE"),INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
我用的就是这个 没有什么问题啊
烂番 2010-08-02
  • 打赏
  • 举报
回复
说了,那个IE以及相关的webBrowser控件,联网部分就是个怪胎
必须要手动改系统网络设置里的首选网络,你上面说的三种设置都是可有可无的

如果你直接用socket提交HTTP请求,是没有任何问题的。
MS_Frank 2010-07-30
  • 打赏
  • 举报
回复
我把问题整理一下重发一遍,让大家能看明白。
是这样的,在Mobile上,要能过WinInet访问网络。
以API为例:InternetOpen需要指定访问类型
直接连接(INTERNET_OPEN_TYPE_DIRECT)、
通过代理连接(INTERNET_OPEN_TYPE_PROXY)、
自动判断(INTERNET_OPEN_TYPE_PRECONFIG )

在通过连接管理器拔号后,我获取当前接入点的代理信息,如果获取到就用“代理”,没获取到就“直连”。
自动获取时常不好使,所以我不考虑了。。

但当选择拔cmnet后,就是无代理的,InternetOpen会使用直连的方式访问,,这样访问理应没错,但却访问失败。


同样,我用QQ选择使用cmnet接入点拔号,QQ就能正常上网。

请问QQ是怎么做到使用特定接入点的呢?
MS_Frank 2010-07-30
  • 打赏
  • 举报
回复
已解决了。。
我在拔号成功后,获取当前接入点的代理信息,如果有代理就用INTERNET_OPEN_TYPE_PROXY连没有代理就用
INTERNET_OPEN_TYPE_DIRECT连,

但还是有问题,我用连接管理器拔的号是cmnet(就是没有代理),那么WinInet使用的就是INTERNET_OPEN_TYPE_DIRECT,可是还是访问不了网络。。

而QQ,选择使用cmnet那么它就有用cmnet连上网。。。


我想问如何能做到像QQ一样,选择哪个接入点就用哪个接入点连?
烂番 2010-07-29
  • 打赏
  • 举报
回复
INTERNET_OPEN_TYPE_PRECONFIG估计就是使用IE配置的网络吧,这个要改系统设置里的首选连接方式
如果首选是gprs,就算WiFi网络是Ok,它也会自动去拨号。

直连不就是系统有什么网络,就用什么网络吗?

7,660

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧