CWeixin类更新了,做PC版微信功能更强大

joneeky 2013-03-10 06:52:43
加精

比上次版本多了获取联系人详情和头像功能。
源码和demo下载请看我的博客:http://blog.csdn.net/joneeky/article/details/8656544
这个demo自绘列表时好像有点问题,出错可以多尝试几次。
就是调用 ClistCtrl::SetItemData 的时候出错,有没有人知道为什么?


#ifndef _WEIXIN_
#define _WEIXIN_

#define WM_WX_SCANOK (WM_USER + 101) /*扫描成功*/
#define WM_WX_LOGINOK (WM_USER + 102) /*登录成功*/
#define WM_WX_HASMSG (WM_USER + 103) /*收到消息*/

//联系人
typedef struct tagWXCONTACT
{
CString strUin; //微信号
CString strUserName; //用户名
CString strNickName; //昵称
CString strRemarkName; //备注名
int iSex; //性别(0-未知,1-男,2-女)
CString strSignature; //签名
CString strProvince; //地址-省
CString strCity; //地址-市
HGLOBAL hHeadImg; //头像
int ihiSize; //头像大小(字节)
} WXCONTACT;

//微信消息
typedef struct tagWXMSG
{
CString strUserName;
CString strMsg;
} WXMSG;

class CWeixin
{
public:
CWeixin();
CWeixin(CWeixin& wxin);
~CWeixin();
void Attach(HWND hWnd); //设置关联窗口
HGLOBAL GetQRCode(); //得到登录二维码(内存)
BOOL GetQRCode(LPCTSTR lpszPath); //得到登录二维码(文件)
void GotoScan(); //准备扫描
BOOL QueryContacts(BOOL bHeadImg = TRUE); //请求联系人列表
int GetContanctsCount(); //得到联系人数量
WXCONTACT GetContanctAt(int nIndex); //得到指定联系人
BOOL SendMsg(LPCTSTR lpszUserName, LPCTSTR lpszMsg); //发送文本
BOOL SendImg(LPCTSTR lpszUserName, LPCTSTR lpszFilePath); //发送图片

private:
static UINT CheckScanProc(LPVOID pParam); //检测二维码被扫描
static UINT CheckOKProc(LPVOID pParam); //检测确认登录
static UINT SyncProc(LPVOID pParam); //保持在线状态(暂时未用到)
static UINT CheckMsgProc(LPVOID pParam); //检测是否有消息
void UTF8ToGBK(CString& strTarget); //UTF8 转 GBK
void GBKToUTF8(CString& strTarget); //GBK 转 UTF8
void GetSelfInfo(); //得到自己的信息
UINT PeekMsg(WXMSG& wxMsg); //取出消息

private:
HWND m_hWnd;
CInternetSession *m_pSession;
CString m_strCode, m_strSid, m_strSkey;
CPtrArray m_paContacts;
CString m_strMyUin, m_strMyUserName;
CString m_strVal1, m_strVal2, m_strVal3;
};

#endif
...全文
10831 73 打赏 收藏 转发到动态 举报
写回复
用AI写文章
73 条回复
切换为时间正序
请发表友善的回复…
发表回复
itachi777 2013-12-30
  • 打赏
  • 举报
回复
未名湖的云 2013-12-12
  • 打赏
  • 举报
回复
LZ,首先谢谢你的分享啊,借鉴你这个,做的差不多了,但是没有mfc的退出处理,手机上依然显示着微信网页版的,能不能提供一个退出函数,也给服务器发一个请求,让手机端网页版也退出呢?
itachi777 2013-11-30
  • 打赏
  • 举报
回复
MRLullaby 2013-08-08
  • 打赏
  • 举报
回复
程序会出错 this application has requested the runtime to terminate it in an unusual way.please contact the application's support team for more information. 怎么解决?是什么问题?
bo2831 2013-05-08
  • 打赏
  • 举报
回复
拿回去好好研究下
lhw7791086 2013-04-15
  • 打赏
  • 举报
回复
BlackHeart1203 2013-04-15
  • 打赏
  • 举报
回复
BlackHeart1203 2013-04-15
  • 打赏
  • 举报
回复
很强大嘛
u010304307 2013-04-15
  • 打赏
  • 举报
回复
joneeky 2013-04-14
  • 打赏
  • 举报
回复
引用 58 楼 doraprince 的回复:
引用 46 楼 joneeky 的回复:引用 41 楼 doraprince 的回复:消息发不出去啊 应该不会吧,你看他们都发出去了,再试试看 真没发出去,试了很多次,不懂什么原因。另外能弄个模拟摇一摇功能么
UNICODE的当然编译有错了,比较多,你自己看着办了,LPCWSTR LPCTSTR
xiaofeng_canyue 2013-04-14
  • 打赏
  • 举报
回复
苧靜臸逺 2013-04-13
  • 打赏
  • 举报
回复
建议LZ把代码改成UNICODE的.
苧靜臸逺 2013-04-13
  • 打赏
  • 举报
回复
有错误就调试,不可信
fire-rain 2013-04-13
  • 打赏
  • 举报
回复
引用 46 楼 joneeky 的回复:
引用 41 楼 doraprince 的回复:消息发不出去啊 应该不会吧,你看他们都发出去了,再试试看
真没发出去,试了很多次,不懂什么原因。另外能弄个模拟摇一摇功能么
sunshanfeng 2013-04-13
  • 打赏
  • 举报
回复
建议LZ把代码改成UNICODE的........www.zxd.cc
  • 打赏
  • 举报
回复
楼主好强大呀。小菜鸟的我们怎么办呢?
u010273549 2013-04-12
  • 打赏
  • 举报
回复
IceEyes 2013-04-12
  • 打赏
  • 举报
回复
program2050 2013-04-12
  • 打赏
  • 举报
回复
呵呵。学习学习。谢谢楼主
Squall_zy 2013-04-12
  • 打赏
  • 举报
回复
看来vc6仍然有市场。。。
加载更多回复(45)

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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