RunDLL32 URLDownloadToFile

我试图在Windows命令行中执行单行文件下载,而不依赖于WGET等外部工具,甚至编写PowerShell或VBScripts脚本。

我试着跑

c:\> RunDLL32.exe URLMon.dll,URLDownloadToFIle 0,"http://www.example.com/file.pdf" "c:\\MyName\\Downloads\\",0 

它没有奏效。
我做错了什么? 或者甚至会工作?

函数URLDownloadToFile具有以下签名:

 HRESULT URLDownloadToFile( LPUNKNOWN pCaller, LPCTSTR szURL, LPCTSTR szFileName, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB ); 

可以通过rundll32.exe调用的函数需要具有以下函数原型:

 void CALLBACK EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow); 

您无法使用rundll32.exe来运行URLDownloadToFile,因为这两个原型是不兼容的。