使用CInternetSession实时获取上证指数
【摘要】 用mfc,在任务栏中实时显示上证指数:修改基于TrafficMonitor:https://github.com/zhongyang219/TrafficMonitorhttps://github.com/nlohmann/json修改:https://github.com/zhongyang219/TrafficMonitor/blob/master/TrafficMonitor/Comm...
用mfc,在任务栏中实时显示上证指数:
修改基于TrafficMonitor:
https://github.com/zhongyang219/TrafficMonitor
https://github.com/nlohmann/json
修改:
https://github.com/zhongyang219/TrafficMonitor/blob/master/TrafficMonitor/Common.h
中的GetURL实现
if (url.find(L"https") == 0) { pfile = (CHttpFile *)pSession->OpenURL(url.c_str(), 1, INTERNET_FLAG_SECURE | INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_RELOAD); } else { pfile = (CHttpFile *)pSession->OpenURL(url.c_str(), INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_RELOAD); }
//TrafficMonitorDlg.cpp OnTimer中周期获取上证指数信息
wstring trade_info = L"[]"; if (!CCommon::GetURL(L"https://www.google.com/async/finance_wholepage_price_updates?ei=m_nyXYjdJoTWmAXn4rDgDQ&yv=3&async=mids:%2Fm%2F04xk2h,currencies:,_fmt:jspb", trade_info, false)) { ... } json trade; std::wcout << trade_info.substr(4).c_str() << std::endl; trade = json::parse(trade_info.substr(4)); std::string composite = trade["PriceUpdate"][0][0][0][17][4].dump();//TODO:异常处理 std::string percentage = trade["PriceUpdate"][0][0][0][17][6].dump(); percentage.erase(std::remove(percentage.begin(), percentage.end(), '"'), percentage.end()); theApp.m_composite = CCommon::StrToUnicode(composite.c_str(),false); theApp.m_percentage = CCommon::StrToUnicode(percentage.c_str(), false);
//TaskBarDlg.cpp showInfo中绘制上证指数
draw.DrawWindowText(value_rect, theApp.m_composite.c_str(), text_colors[1], value_alignment, false); value_rect.MoveToY(value_rect.bottom); draw.DrawWindowText(value_rect, theApp.m_percentage.c_str(), text_colors[0], Alignment::LEFT, false);
----------Code for ?
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)