我试图在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可以调用的函数需要具有以下函数原型(prototype):
void CALLBACK  EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);

您不能使用rundll32.exe来运行URLDownloadToFile,因为这两个原型(prototype)不兼容。

10-04 10:25