国庆期间利用VC++做了个小软件,发指定内容到discuz论坛的指定模块,接下来我将用到的技术以及实现的方法写下来。
这个软件是插件式开发,从dll文件中读取内容然后发到discuz论坛中,这次主要介绍程序支持的dll的设计与开发。
1、是基于MFC的dll文件导出函数有两个:
getDBCount @1
getDB @2
其中getDBCount是获取数据源的个数,getDB是得到指定索引的数据源。
数据源是基于CDataBase的类,基类CDataBase设计如下:
struct Info
{
CString subject;//标题
CString message;//内容
};
class CDataBase
{
public:
virtual vector< Info >getInfo() = 0;//获取标题内容数组
virtual CString getDBName() = 0;//获取数据源名称
virtual CString getLink() = 0;//获取要发贴模块的链接地址
virtual HICON getIcon() = 0;//获取图标—扩展用
};
//这里设计了一个csdn推荐博客的类
class CDB_CSDNBLOG:public CDataBase
{};
为了节省我可怜的数据库空间,代码不再粘贴,需要的话请与我联系,代码一定奉上。
网页的抓取主要用了CHttpFile
CInternetSession session;
CHttpFile* httpFile = ( CHttpFile* )session.OpenURL( _T(“http://blog.csdn.net/rss.html?type=Home&channel=”) );
注意用完httpFile记得关闭和删除,不然会有内存泄露。