-
-
[已解决]URLDownloadToFileA实参过多?
-
发表于:
2008-5-23 22:49
7603
-
[已解决]URLDownloadToFileA实参过多?
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日开班!