如何模拟鼠标点网页的超连接或按钮

ccwwbb 2005-09-13 11:29:10
我在 CppWebBrowser 放上一个html的网页,如何模拟鼠标点网页的超连接或按钮,超连接不是直接的地址啊,是javascript的连接啊。如:
<script language="JavaScript" type="text/javascript" src="http://www1.itsun.com/counter.php?uuid=1497970&style=icon"></script>
望各位指点
...全文
230 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gordonwg 2005-11-23
  • 打赏
  • 举报
回复
xuexi
ccwwbb 2005-09-15
  • 打赏
  • 举报
回复
谢谢楼上的。等会我在我的机子上调试。
XBox360 2005-09-15
  • 打赏
  • 举报
回复
偶也问过这个问题,这个是从老妖网站上找到的

void __fastcall TForm1::WebPostData(TCppWebBrowser *CppWebBrowser, String sURL, String sPostData)
{
BSTR bstrHeaders = NULL;
TVariant vFlags = {0}, vTargetFrameName={0}, vPostData={0}, vHeaders={0};
LPSAFEARRAY psa;
LPCTSTR cszPostData = sPostData.c_str();
UINT cElems = lstrlen(cszPostData);
LPSTR pPostData;
LPVARIANT pvPostData;

bstrHeaders = SysAllocString(L"Content-Type: application/x-www-form-urlencodedrn");
if (!bstrHeaders){
Application->MessageBox("Could not allocate bstrHeaders", "Warning", MB_OK | MB_ICONWARNING);
return;
}

V_VT(&vHeaders) = VT_BSTR;
V_BSTR(&vHeaders) = bstrHeaders;

pvPostData = vPostData;

if(pvPostData){
VariantInit(pvPostData);

psa = SafeArrayCreateVector(VT_UI1, 0, cElems);
if(!psa){
return;
}

SafeArrayAccessData(psa, (LPVOID*)&pPostData);
memcpy(pPostData, cszPostData, cElems);
SafeArrayUnaccessData(psa);

V_VT(pvPostData) = VT_ARRAY | VT_UI1;
V_ARRAY(pvPostData) = psa;
}

CppWebBrowser->Navigate((TVariant)sURL, &vFlags, &vTargetFrameName, &vPostData, &vHeaders);
}
ccrun.com 2005-09-13
  • 打赏
  • 举报
回复
首先获取这个Html页面的IHTMLDocument2接口,然后通过get_scripts方法获取所有的脚本集合,脚本对象是IHTMLScriptElement类型的,通过get_src和get_text方法可以获取该脚本的一些相关信息。

至于如何获取,csdn的帖子很多,以前我回答过别人,有代码,可以自己搜一下。

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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