【Windows mobile】WinInet API 的异步读取网页数据(一)
2010-01-19 22:43
375 查看
引言:这几天在做一个windows mobile 的Internet应用,刚开始使用InternetOpen没有遇到什么问题,但在测试时有时发现程序卡在那里不动,调试发现在InternetOpenUrl卡住了。分析后察觉网络不好,然后Google之,发现最好异步调用WinInet API。搜到第一篇文章后开通了此博客转载了它。其他部分测试好后开始着手把同步换成异步。今天早上发现一篇文章http://www.wangchao.net.cn/bbsdetail_26749.html是silver0001写的,然后给这位吴先生发了封邮件,
他很热心,没多久就回了并把源码给我。在此感谢这位吴先生。
好了,开始正题。拿到源码,粗略看了一下就开始试着用,其实已经封装很好了。调试发现未能获取数据,报InternetOpenUrl 12029 12031等错误。再测得到InternetReadFileEx 120的错误,就是说该平台下不支持(可恶的是MSDN上说支持)。继续搜索得到一个网友点金之言:使用InternetReadFileExA!OK了!
先列出头文件:
代码
wstring UTF8ToUnicode( const string& str )
{
int len = str.length();
int unicodeLen = ::MultiByteToWideChar( CP_UTF8, 0, str.c_str(), -1, NULL, 0 );
wchar_t * pUnicode = new wchar_t[unicodeLen+1];
memset(pUnicode,0,(unicodeLen+1)*sizeof(wchar_t));
MultiByteToWideChar( CP_UTF8, 0, str.c_str(), -1, pUnicode, unicodeLen );
wstring rt(pUnicode);
delete []pUnicode;
pUnicode = NULL;
return rt;
}
第一次写博客,讲的不好,见笑!有任何问题请留言,我的测试环境:Windows XP +VS2005 +Windows mobile 6.0模拟器。
源码下载地址:
/Files/want/DemoInternet.rar
下一篇:
【Windows mobile】WinInet API 的异步读取网页数据(二)
他很热心,没多久就回了并把源码给我。在此感谢这位吴先生。
好了,开始正题。拿到源码,粗略看了一下就开始试着用,其实已经封装很好了。调试发现未能获取数据,报InternetOpenUrl 12029 12031等错误。再测得到InternetReadFileEx 120的错误,就是说该平台下不支持(可恶的是MSDN上说支持)。继续搜索得到一个网友点金之言:使用InternetReadFileExA!OK了!
先列出头文件:
代码
wstring UTF8ToUnicode( const string& str )
{
int len = str.length();
int unicodeLen = ::MultiByteToWideChar( CP_UTF8, 0, str.c_str(), -1, NULL, 0 );
wchar_t * pUnicode = new wchar_t[unicodeLen+1];
memset(pUnicode,0,(unicodeLen+1)*sizeof(wchar_t));
MultiByteToWideChar( CP_UTF8, 0, str.c_str(), -1, pUnicode, unicodeLen );
wstring rt(pUnicode);
delete []pUnicode;
pUnicode = NULL;
return rt;
}
第一次写博客,讲的不好,见笑!有任何问题请留言,我的测试环境:Windows XP +VS2005 +Windows mobile 6.0模拟器。
源码下载地址:
/Files/want/DemoInternet.rar
下一篇:
【Windows mobile】WinInet API 的异步读取网页数据(二)
相关文章推荐
- 【Windows mobile】WinInet API 的异步读取网页数据(二)
- ajax异步调用,当鼠标点在图片上时,显示一个新层读取数据内容
- java Applet从网页读取数据
- go 读取数据库所有表数据显示到网页(便于测试时看)
- php从csv文件读取数据并输出到网页的方法
- IntelliJ IDEA 在网页修改数据,但是在浏览器刷新的时候,不能读取到修改之后的数据
- Windows Mobile短信收件夹、发件夹数据读取
- FindFirstStore函数 按扇区读取Windows Mobile的数据
- 基于Java NIO 异步读取网络数据
- Jquery+asp.net异步无刷新读取数据最简单示例(源码)
- 读取网页上的Html源码中指定的数据写入文件
- Highcharts使用简例及异步动态读取数据
- 页面读取EXCEL表并将数据导入到Oracle(DWR异步机制,iframe页面嵌套)
- 怎么样在网页上读取远程xml的数据
- 如何读取网页表格中的数据
- 网页上读取远程xml的数据
- C# 读取网页JSON数据
- java Applet从网页读取数据
- SerialPort同步和异步数据读取(二)
- php ajax异步读取rss文档数据