想写个BBS灌水机玩玩,不知道哪位给点启发,谢谢了

maoxianwang 2003-07-03 08:29:27
不灌CSDN,呵呵
...全文
58 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
feeboby 2003-09-04
  • 打赏
  • 举报
回复
^_^
flinming 2003-09-04
  • 打赏
  • 举报
回复
关注
dxhdxh2k 2003-09-04
  • 打赏
  • 举报
回复
up
lingling0000 2003-09-04
  • 打赏
  • 举报
回复
gz
riverboat 2003-09-04
  • 打赏
  • 举报
回复
hehe gz
xghost 2003-09-03
  • 打赏
  • 举报
回复
雇个民工,让他不停地帮你灌水
polywh 2003-09-03
  • 打赏
  • 举报
回复
up
Oversense 2003-09-03
  • 打赏
  • 举报
回复
用机器人把,比如RationalRobot,只需要脚本语言就可以了
ttzzgg_80713 2003-09-03
  • 打赏
  • 举报
回复
我日
huazaimh 2003-07-04
  • 打赏
  • 举报
回复
呵呵
能不能用CGI的方式呢?
o_racle 2003-07-04
  • 打赏
  • 举报
回复
呵呵,我帮你灌一点...

。。。
蒋晟 2003-07-04
  • 打赏
  • 举报
回复
这个就是源代码啊
DoDelayedSubmit的含义是延时自动提交表单
maoxianwang 2003-07-03
  • 打赏
  • 举报
回复
老大,把源码发来一下吧,谢谢了,dada9527@163.com
syl08341 2003-07-03
  • 打赏
  • 举报
回复
:
maoxianwang 2003-07-03
  • 打赏
  • 举报
回复
怎么用自动化浏览器呢?蒋老大说清楚一点
蒋晟 2003-07-03
  • 打赏
  • 举报
回复
void CSRWOnlineView::DoDelayedSubmit()
{
m_bNeedSubmit=TRUE;
}

void CSRWOnlineView::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(m_bNeedSubmit&&nIDEvent==1){
if(m_bDelaySubmit){
if(m_pLastForm){
m_pLastForm->submit();
m_pLastForm.Release();
m_pLastForm.p=NULL;
}
m_bDelaySubmit=FALSE;
m_bNeedSubmit=FALSE;
}
else
m_bDelaySubmit=TRUE;
}
CHtmlView::OnTimer(nIDEvent);
}
蒋晟 2003-07-03
  • 打赏
  • 举报
回复
不明白?
void CSRWOnlineView::DocumentComplete(LPDISPATCH pDisp, VARIANT* URL)
{

CComQIPtr<IWebBrowser2> pWin(pDisp);
if(pWin){
if(!theApp.bEnableReady){
pWin->put_Silent(VARIANT_TRUE);
}
CComQIPtr<IDispatch> pDispDoc;
pWin->get_Document(&pDispDoc.p);
CComQIPtr<IHTMLDocument2> pDoc2(pDispDoc);
if(pDoc2){
_variant_t vardisp;
vardisp.vt=VT_DISPATCH;
vardisp.pdispVal=NULL;
//pDoc2->removeAttribute(_bstr_t("onkeydown"),0,&bResult);
//pDoc2->removeAttribute(_bstr_t("oncontextmenu"),0,&bResult);
pDoc2->put_onclick(vardisp);
pDoc2->put_onkeydown(vardisp);
CComQIPtr<IHTMLDocument3> pDoc3(pDoc2);
pDoc3->put_oncontextmenu(vardisp);
CComQIPtr<IHTMLElement> pBody;
pDoc2->get_body(&pBody);
if(pBody){
CComQIPtr<IHTMLElement2> pBody2(pBody);
//pBody->removeAttribute(_bstr_t("oncontextmenu"),0,bResult);
pBody2->put_oncontextmenu(vardisp);
}
CComBSTR bstrURL;
pDoc2->get_URL(&bstrURL.m_str);
CString strURL(bstrURL);
strURL.MakeLower();
BOOL bDefault=TRUE;
if(strURL.Find("yudi")!=-1){
DoYudi(pDoc2);
bDefault=FALSE;
}
if(strURL.Find("moveselect")!=-1){
DoMoveSelect(pDoc2);
bDefault=FALSE;
}
if(strURL.Find("bat2")!=-1){
DoBat2(pDoc2);
bDefault=FALSE;
}
if(bDefault)
DoDefault(pDoc2);
OnDocumentComplete(strURL);
}
}
//pWin.Detach();
}
void CSRWOnlineView::DoYudi(LPDISPATCH pDisp)
{
CComQIPtr<IHTMLDocument2> pDoc2(pDisp);
CComQIPtr<IHTMLElementCollection > pForms;
pDoc2->get_forms(&pForms.p);
if(pForms){
long l=0;
pForms->get_length(&l);
if(l>0){
_variant_t varIndex;
varIndex=(long)0;
_variant_t varDummy;
m_pLastForm.Release();
m_pLastForm.p=NULL;
CComQIPtr<IDispatch> pDispTemp;
if(pForms->item(varIndex,varDummy,&pDispTemp.p)==S_OK){
m_pLastForm=pDispTemp;
if(m_pLastForm){
_variant_t vardisp;
vardisp.vt=VT_DISPATCH;
vardisp.pdispVal=NULL;
CComQIPtr<IDispatch> pDispTemp;
m_pLastForm->item(_variant_t(_bstr_t("Submit")),varDummy,&pDispTemp.p);
CComQIPtr<IHTMLElement> pFormEle(pDispTemp);
if(pFormEle){
pFormEle->put_onclick (vardisp);
}
CComBSTR bstrAction;
if(m_pLastForm->get_action(&bstrAction.m_str)==S_OK){
//Action:bat2.asp?opLV=121&opinfo=25&optu=15&check=00:23:19
CString strAction(bstrAction);
TRACE("Action before:%s\n",strAction);
if(strAction.Find("bat2.asp")>=0){
int iStart=strAction.Find("opLV");
if(iStart>=0){
m_strAction=strAction.Right(strAction.GetLength()-iStart);
int iEnd=strAction.Find("&check");
CString strLeft=strAction.Left(iStart);
CString strRight=strAction.Right(strAction.GetLength()-iEnd);
CString strMiddle;
strMiddle.Format("opLV=%d&opinfo=%d&optu=%d",theApp.m_nOPLV,theApp.m_nOPInfo,theApp.optu);
strAction=strLeft+strMiddle+strRight;
m_pLastForm->put_action(_bstr_t(strAction));
}
}
TRACE("Action after:%s\n",strAction);
}
if(theApp.m_bAutoFire){
CComQIPtr<IDispatch> pDispTemp;
if(m_pLastForm->item(_variant_t(_bstr_t("weapon")),_variant_t ((long)(theApp.m_nDefaultWeapon -1)),&pDispTemp.p)==S_OK){
CComQIPtr<IHTMLInputElement> pInput(pDispTemp);
if(pInput){
pInput->put_checked(VARIANT_TRUE);
}
}
m_nCurAutoFired++;
DoDelayedSubmit();
}
}
}
}
}

}
蒋晟 2003-07-03
  • 打赏
  • 举报
回复
自动化浏览器就可以了
但是现在论坛一般都有防刷机制……
zhucde 2003-07-03
  • 打赏
  • 举报
回复
精神上支持你

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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