`
qq173684423
  • 浏览: 28115 次
社区版块
存档分类
最新评论

Inno Setup入门(二十九)——使用dll(3)

 
阅读更多
概述
前面分两节介绍了如何使用dll,这里将对调用外部或者系统dll做一些综述。Pascal脚本能调用外部dll(标准Win32 API或者各程序员编写的dll)中的函数,在调用外部dll中的函数前,需要声明所调用的函数原型,使用external声明dll文件,对于一个Pascal描述的函数原型,例如function A(B: Integer): Integer;可以有三种方式调用:
方法一:
function A(B: Integer): Integer;
external '<  dll中函数名称>  >@<  dll文件路径  >';
方法二:
function A(B: Integer): Integer;
external '<  dll中函数名称>  >@<  dll文件路径  > <调用约定>';
方法三:
function A(B: Integer): Integer;
external '<dll中函数名称>@<dll文件路径> <调用约定> <选项>';
第一种方法最简单,这是Pascal脚本的默认调用方法,调用约定为stdcall,绝大部分的调用都是采用这种方式,当然也可以使用其他的调用约定:cdecl、pascal和register
最后一个选项指定了加载dll的方式,可以是下列几种:
delayload
通常,Pascal脚本会在开始的时候检验dll函数是否能够被调用,如果不能,则拒绝执行。为了避免这种现象,可以用该选项指定延迟加载,通常是当你不确定所调用的函数是否在运行时可用,但是这样做的后果就是,Pascal脚本会在不可用的情况下继续执行但是抛出异常。
loadwithalteredsearchpath
指明dll存放的文件夹,让加载器在这些文件夹下去搜索依赖的dll文件,需要使用标志LOAD_WITH_ALTERED_SEARCH_PATH
setuponly
指明该dll文件仅在脚本运行处于安装时加载。
uninstallonly
指明该dll文件仅在脚本运行处于卸载装时加载。

 

分享到:
评论

相关推荐

    InnoSetup入门(PDF )

    《InnoSetup入门详解》 InnoSetup是一款广泛使用的安装包制作工具,尤其在Windows平台上,它以其简单易用和高度可定制性深受开发者喜爱。本教程将带你深入理解InnoSetup的基础和高级功能,逐步教你如何制作出专业且...

    Inno Setup入门教程

    #### 十九至二十二、Inno Setup类参考 - **基础知识**:深入学习Inno Setup提供的类库及其使用方法。 - **应用场景**: - 实现高级功能。 - 自定义界面。 - 调用API函数。 通过以上知识点的学习,开发者可以熟练...

    InnoSetup自定义安装界面 仿QQ安装界面,,非botva2,仅使用isskin.dll

    要在InnoSetup中使用isskin.dll实现自定义界面,首先你需要下载isskin.dll文件,并将其放置在InnoSetup的编译器目录下。接下来,打开你的InnoSetup脚本文件(.iss),并在[Code]部分引入isskin.dll: ```pascal ...

    innosetup界面美化工具.zip

    解压压缩包中的 Inno Setup 5.5.zip,运行Inno Setup 5.5\Inno Setup 5\Compil32.exe,右上角可以改变语言。 打开build.iss文件,一些自定义字段请按需修改,点击Inno Setup工具栏中的 ‘绿色小三角’ 来运行脚本,...

    Inno Setup 6.2.1以及中文语言包

    Inno Setup是一款广泛使用的安装制作程序,尤其受到开发者和软件发行者的青睐。它以其简洁的界面和强大的功能著称,允许用户快速创建专业的Windows安装包。Inno Setup 6.2.1是该软件的一个版本,它可能包含了新功能...

    inno setup 5脚本实现检测进程是否运行并结束.rar

    本文将深入探讨如何利用Inno Setup 5的脚本语言来实现这一目标,并结合`istask.dll`这个关键组件进行详细讲解。 首先,`istask.dll`是一个动态链接库文件,它为Inno Setup脚本提供了检查和结束进程的能力。在Inno ...

    InnoSetup中文帮助

    通过以上详细的知识点介绍,我们可以看出InnoSetup不仅功能强大而且使用灵活,非常适合用于创建高质量的安装程序。无论是对于个人开发者还是企业级项目的安装需求,InnoSetup都是一个优秀的选择。

    innosetup 仿有道云安装包

    【标题】"innosetup 仿有道云安装包" 涉及的主要知识点是使用Inno Setup创建类似有道云笔记的安装程序。Inno Setup是一款免费且开源的安装制作工具,常用于创建Windows应用程序的安装包,它允许开发者自定义安装界面...

    【innoSetup反向打包】innoextract

    Inno Setup是一个为Microsoft Windows应用程序创建安装程序的工具。innoextract允许在非Windows系统下提取此类安装程序,而无需使用wine运行实际的安装程序。innoextract 目前支持由 Inno Setup 1.2.10 到 6.2.1 ...

    inno解包工具,可解加密的inno setup安装程序

    Inno Setup是一款流行的安装制作工具,它被广泛用于创建Windows应用程序的安装包。这款工具具有很多功能,包括创建自解压文件、支持多语言、定制安装界面等。然而,有些Inno Setup创建的安装程序可能会被加密,以...

    Inno Setup 中文教程

    Inno Setup是一款广泛使用的免费安装制作工具,尤其适用于Windows平台。它可以帮助开发者创建自解压安装程序,提供简洁而强大的脚本语言,使得程序的安装、卸载过程更加专业和个性化。这个中文教程将帮助你深入理解...

    使用inno setup将python exe制作安装包详细教程(csdn)————程序.pdf

    3. **创建Inno Setup脚本**(.iss文件): Inno Setup使用基于 Pascal 的脚本语言,你需要创建一个`.iss`文件来定义安装包的结构和行为。在新建的`.iss`文件中,你需要指定输出目录(outputdir),即安装包编译后...

    inno setup中文帮助文档

    3. **编译器界面**:介绍Inno Setup的图形化界面,如何使用它来创建和编辑安装脚本,以及设置安装界面的外观和行为。 4. **安装过程管理**:讲解如何配置安装过程中的对话框、许可协议、安装类型选择、自定义步骤等...

    Inno Setup 5.zip

    二、Inno Setup 5的使用流程 1. **安装Inno Setup**:首先,你需要下载并安装Inno Setup 5的编译器,然后就可以开始创建安装脚本了。 2. **编写安装脚本**:使用集成的脚本编辑器,根据项目需求编写安装脚本,包括...

    Inno Setup + 语言包

    "西西软件园"可能是一个软件下载网站,.txt文件可能包含了关于如何获取、使用和安装Inno Setup的说明,而.url文件则是一个快捷方式,可以直接打开浏览器并跳转到该网站,方便用户查找更多资源或获取技术支持。...

    innosetup 判断程序是否在使用

    ### Inno Setup 判断程序是否在使用 Inno Setup 是一款功能强大且免费的 Windows 安装程序制作工具,广泛应用于各种软件项目的安装包构建。本文将详细介绍如何在使用 Inno Setup 构建安装程序时,实现判断目标应用...

    InnoSetup6.0.3安装包与中文包.rar

    它的最新版本是6.0.3,这个压缩包“InnoSetup6.0.3安装包与中文包.rar”包含了该版本的安装程序以及中文语言包,使得国内用户能够方便地使用中文界面进行安装脚本的编写和安装程序的创建。 首先,我们来了解一下...

    inno setup仿大厂安装包,脚本和安装包都可运行

    这个“inno setup仿大厂安装包”是一个示例,展示了如何使用Inno Setup创建类似大厂级别的专业安装包。 Inno Setup的主要特点包括: 1. **定制化安装过程**:通过编写脚本(.iss文件),你可以定义安装程序的外观...

    inno setup 增强版

    Inno Setup是一款强大的安装包制作工具,尤其适合个人开发者和小型团队使用。它以其免费、易用和功能全面的特点在IT行业中受到了广泛欢迎。这款工具不仅提供了Windows 2000风格的传统安装界面,还支持设计出类似QQ...

    Innosetup软件及安装界面美化iss脚本

    在使用InnoSetup进行安装界面美化时,开发者可以自定义窗口样式、字体、颜色,甚至创建多语言支持的安装程序。例如,可以使用`[Setup]`部分的`DefaultDirName`指定默认安装目录,`DefaultGroupName`定义程序组名称,...

Global site tag (gtag.js) - Google Analytics