nsis使用URLDownloadToFile下载文件

在Urlmon.dll中有个函数叫URLDownloadToFile,顾名思义,是一个用来下载文件的东西,我们做在线安装或者其他很多时候,往往需要提前下载一些小的文件来配置当前将要安装的程序,遇到这种情况去兴师动众的调用下载插件未免太过繁琐,也增加无谓的体积,那么这种情况使用URLDownloadToFile不失为一个较为理想的处理方法。例子如下

!include
nsdialogs.nsh

XPStyle on

OutFile "test.exe"

Name "test"

Section "test"

System::Call ‘Urlmon.DLL::URLDownloadToFileA(i0, t"http://www.nsisfans.com/template/wxd_jdbbs/wxd_img/logo.png", t"nsis.png", i0,i0)i.s‘

Pop $r0

${If} $r0 = 0

MessageBox MB_OK
‘下载成功‘

${Else}

MessageBox MB_OK
‘下载失败‘

${Endif}

SectionEnd

时间: 2024-11-25 17:21:51

nsis使用URLDownloadToFile下载文件的相关文章

从网络上下载文件的两种方法

两种方法使用的Com函数都来源于UrlMon,记得先引用. 一.URLDownloadToFile 直接下载文件到磁盘,URLDownloadToFile声明如下: function URLDownloadToFile(    Caller: IUnknown;     URL: PWideChar;           { 下载的路径 }    FileName: PWideChar;   { 保存到的路径 }    Reserved: DWORD;    StatusCB: IBindSta

UrlDownloadFile, 线程下载文件, 带进度条

unit FileDownLoadThread; interface uses Classes, SysUtils, Windows, ActiveX, UrlMon; const S_ABORT = HRESULT($80004004); type TFileDownLoadThread = class; TDownLoadProcessEvent = procedure(Sender: TFileDownLoadThread; Progress, ProgressMax: Cardinal)

Delphi用TActionList下载文件

TActionList有个标准动作TDownLoadURL,内部是使用的URLDownloadToFile,它下载文件时会定时产生OnDownloadProgress 事件,这样就可以用进度条显示: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 uses   Windows,

c++のurlmon实现下载文件并进度回调

主文件: #include "stdafx.h" #include <UrlMon.h> #pragma comment(lib, "urlmon.lib") #include <tchar.h> #include "cbindCallBack.h" #include "iostream" #include <CString> int main() { //在url后添加随机数,防止从IE缓

C# WebBrowser控件 下载文件不弹下载提示框的办法

参考链接 https://stackoverflow.com/questions/6773866/download-file-and-automatically-save-it-to-folder public class MyWebBrowser : WebBrowser { /// <summary> /// The URLMON library contains this function, URLDownloadToFile, which is a way /// to downloa

wp8通过WebClient从服务器下载文件

通过WebClient从Web服务器下载文件,并保存到wp8手机应用程序的独立存储. 我们可以通过利用webClient_DownloadStringCompleted来获得下载完成所需要的时间,用Stopwatch得到下载的总时间. 通常我们都将上传.下载作为异步事件来处理,以便不阻止主线程. String url = "http://172.18.144.248:8080/upload/" + filename; WebClient client = new WebClient()

阿里云服务器(Windows)如何下载文件

背景:公司只有我一个技术,在我之前还有一个老技术,属于兼职状态,为了尽快熟悉公司网站及app项目情况,我联系了老技术,请他尽快将代码发给我,他说代码文件过大,问我能不能连上服务器下载.百度了很多,都不得要领,便有了这篇文的因由.当然,后来发现是自己百度的方向不对,这是后话暂且不提. 1.登录阿里云官网(https://www.aliyun.com/),[控制台]点进去 2.最左边列表点击[云服务器ECS] 3.[运行中]点进去 4.获取公网IP地址 5.[开始]菜单输入mstsc,打开本机的"远

TreadAPP-使用线程下载文件

package main; /** * Created by lxj-pc on 2017/6/27. */public class TreadApp {//volatile 线程间共享变量 private static volatile boolean isExit=false;//static成员不能访问非static成员 public static void main(String[] args) { //下载一个文件 启动线程 ,线程池使用, //启动线程 下载文件 1.线程自己实现方法

ajax请求不能下载文件(转载)

最近在做文件下载,后台写了个控制层,直接走进去应该就可以下载文件,各种文件图片,excel等 但是起初老是下载失败,并且弹出下面的乱码: 前台请求代码: [html] view plain copy $('#fileexcel').unbind('click').bind('click',function(){ alert("我要下载了"); $.ajax({ type:'post', url:'media', data:null, async:true, success : func